Questions tagged «c#»

C#(发音为“ See Sharp”)是由Microsoft开发的一种高级,静态类型的多范例编程语言。C#代码通常针对Microsoft的.NET系列工具和运行时,其中包括.NET Framework,.NET Core和Xamarin。使用此标记可解决有关用C#或C#正式规范编写的代码的问题。

5
C#:引发继承的事件
我有一个包含以下事件的基类: public event EventHandler Loading; public event EventHandler Finished; 在从该基类继承的类中,我尝试引发该事件: this.Loading(this, new EventHandler()); // All we care about is which object is loading. 我收到以下错误: 事件“ BaseClass.Loading”只能出现在+ =或-=(BaseClass')的左侧 我假设我无法像其他继承成员一样访问这些事件?
144 c#  events  inheritance 

5
.net中的交易
在C#.Net 2.0中进行事务处理的最佳实践是什么?应该使用哪些类?需要注意的陷阱是什么?所有提交和回滚的东西。我刚刚开始一个项目,在将数据插入数据库时​​可能需要做一些事务。我们欢迎您提供任何交易或什至有关交易基本内容的链接。
144 c#  .net  transactions 

3
仅具有托盘图标的WPF应用程序
我是WPF的新手,我想知道是否有人可以给我一些指导,说明如何编写一个最小化到托盘的应用程序。这个想法是,它会定期获取RSS Feed,并在有新的feed时创建一个Toaster-Popup。 该应用程序仍应具有一个主窗口(基本上只是一个包含所有提要条目的列表),但是默认情况下应将其隐藏。 我已经开始阅读有关XAML和WPF的信息,并且我知道App.xaml中的StartupUri必须指向我的主窗口,但是我不知道执行SysTray图标和隐藏主窗口的正确方法是什么(这也表示当用户最小化窗口时,应最小化到托盘,而不是任务栏。 有什么提示吗?
144 c#  .net  wpf  xaml 

9
我如何以及为什么要设置C#构建机器?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 改善这个问题 我正在与一个小型的(4人)开发团队一起从事C#项目。我建议设置一台构建机器,该机器每晚进行项目的构建和测试,因为我知道这是一件好事。麻烦的是,我们在这里没有太多预算,因此我必须将费用证明是合理的。所以我想知道: 我需要什么样的工具/许可证?现在,我们使用Visual Studio和Smart Assembly进行构建,并使用Perforce进行源代码控制。我是否还需要其他东西,或者有等同于cron的工作来运行自动化脚本? 除了显示损坏的迹象以外,这还能使我得到什么?我是否应该在该解决方案(sln文件)中设置将由这些脚本运行的测试项目,以便可以对特定功能进行测试?目前,我们有两个这样的测试,因为我们没有时间(或坦率地说,没有经验)进行好的单元测试。 我需要哪种硬件? 构建完成并经过测试后,将其放置在ftp站点上还是一种内部访问方式是一种常见的做法?想法是,这台机器可以完成构建,我们都去做,但是可以根据需要进行调试。 我们应该多久进行一次这种构建? 如何管理空间?如果我们每晚进行构建,我们应该保留所有旧构建,还是大约一周后开始弃用它们? 还有什么我没看到的吗? 我意识到这是一个很大的话题,我才刚开始。我在这里找不到这个问题的副本,如果那里有一本书我应该拿回来,请告诉我。 编辑:我终于得到它的工作!Hudson完全是太棒了,FxCop表明我们认为实现的某些功能实际上是不完整的。我们还必须将安装程序类型从“旧式” vdproj更改为“ New Hotness WiX”。 基本上,对于那些关注的人,如果可以从命令行运行构建,则可以将其放入hudson。通过MSBuild从命令行运行生成本身是一个有用的练习,因为它会强制您的工具是最新的。

2
.NET框架如何为OutOfMemoryException分配内存?
在C ++中,实际上可以按值引发异常,而无需在堆上分配内存,因此这种情况很有意义。但是在.NET Framework OutOfMemoryException中,它是一种引用类型,因此它是在堆上分配的。OutOfMemoryException当没有足够的内存来创建新对象时,.NET Framework如何分配内存?
144 c#  .net  out-of-memory 

8
不区分大小写的列表搜索
我有一个testList包含一串字符串的列表。testList如果列表中尚不存在新的字符串,我想将其添加到字符串中。因此,我需要对列表进行不区分大小写的搜索并使其高效。我不能使用,Contains因为那没有考虑到外壳。ToUpper/ToLower由于性能原因,我也不想使用。我遇到了这种方法,该方法有效: if(testList.FindAll(x => x.IndexOf(keyword, StringComparison.OrdinalIgnoreCase) >= 0).Count > 0) Console.WriteLine("Found in list"); 可以,但是也可以匹配部分单词。如果列表中包含“山羊”,则无法添加“燕麦”,因为它声称“燕麦”已在列表中。有没有一种方法可以以不区分大小写的方式有效地搜索列表,而单词必须完全匹配?谢谢

8
使用JSON.NET将JSON数据反序列化为C#
我是刚接触C#和JSON数据的新手,正在寻求指导。我正在使用C#3.0,.NET3.5SP1和JSON.NET 3.5r6。 我有一个需要从JSON结构填充的已定义C#类。但是,并非从Web服务检索到的条目的每个JSON结构都包含C#类中定义的所有可能的属性。 我一直在做似乎错误,困难的方法,只是从JObject逐个选择每个值,然后将字符串转换为所需的类属性。 JsonSerializer serializer = new JsonSerializer(); var o = (JObject)serializer.Deserialize(myjsondata); MyAccount.EmployeeID = (string)o["employeeid"][0]; 将JSON结构反序列化为C#类并处理JSON源中可能丢失的数据的最佳方法是什么? 我的课程定义为: public class MyAccount { [JsonProperty(PropertyName = "username")] public string UserID { get; set; } [JsonProperty(PropertyName = "givenname")] public string GivenName { get; set; } [JsonProperty(PropertyName = "sn")] public string Surname { get; …

6
LINQ To Entities无法识别方法Last。真?
在此查询中: public static IEnumerable<IServerOnlineCharacter> GetUpdated() { var context = DataContext.GetDataContext(); return context.ServerOnlineCharacters .OrderBy(p => p.ServerStatus.ServerDateTime) .GroupBy(p => p.RawName) .Select(p => p.Last()); } 我必须将其切换为此才能工作 public static IEnumerable<IServerOnlineCharacter> GetUpdated() { var context = DataContext.GetDataContext(); return context.ServerOnlineCharacters .OrderByDescending(p => p.ServerStatus.ServerDateTime) .GroupBy(p => p.RawName) .Select(p => p.FirstOrDefault()); } 我什p.First()至无法使用来镜像第一个查询。 为什么在其他功能如此强大的ORM系统中存在这些基本限制?
144 c#  entity-framework  orm 


10
序列化包含Dictionary成员的类
扩展之前的问题,我决定对配置文件类进行反序列化,该类非常有用。 我现在想存储的驱动器号关联数组映射(关键是驱动器盘符,价值是网络路径)和使用都试过Dictionary,HybridDictionary和Hashtable这个,但是打电话时,我总是得到下面的错误ConfigFile.Load()或者ConfigFile.Save(): 反映类型'App.ConfigFile'的错误。[snip] System.NotSupportedException:无法序列化成员App.Configfile.mappedDrives [snip] 从我看过的书中可以将Dictionary和HashTables序列化,那么我在做什么错呢? [XmlRoot(ElementName="Config")] public class ConfigFile { public String guiPath { get; set; } public string configPath { get; set; } public Dictionary<string, string> mappedDrives = new Dictionary<string, string>(); public Boolean Save(String filename) { using(var filestream = File.Open(filename, FileMode.OpenOrCreate,FileAccess.ReadWrite)) { try { var serializer = new …


3
属性名称不同时如何指定映射规则
我是Automapper框架的新手。我有一个域类和一个DTO类,如下所示: public class Employee { public long Id {get;set;} public string Name {get;set;} public string Phone {get;set;} public string Fax {get;set;} public DateTime DateOfBirth {get;set;} } public class EmployeeDto { public long Id {get;set;} public string FullName {get;set;} public DateTime DateOfBirth {get;set;} } 注意:类的属性“ Name ”的名称与Employee类的属性“ FullName ”的名称不同EmployeeDto。 这是将Employee对象映射到的代码EmployeeDto: Mapper.CreateMap<Employee, …
144 c#  automapper 

5
如何在C#中将数组的一部分复制到另一个数组?
如何将数组的一部分复制到另一个数组? 考虑我有 int[] a = {1,2,3,4,5}; 现在,如果我给出数组的开始索引和结束索引,a则应将其复制到另一个数组。 就像我将开始索引设为1并将结束索引设为3一样,元素2、3、4应该复制到新数组中。
144 c#  arrays 

12
如何获取IEnumerable中元素的索引?
我这样写: public static class EnumerableExtensions { public static int IndexOf<T>(this IEnumerable<T> obj, T value) { return obj .Select((a, i) => (a.Equals(value)) ? i : -1) .Max(); } public static int IndexOf<T>(this IEnumerable<T> obj, T value , IEqualityComparer<T> comparer) { return obj .Select((a, i) => (comparer.Equals(a, value)) ? i : -1) …
144 c#  .net  linq  ienumerable  indexof 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.