Questions tagged «c#»

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

10
IEnumerable vs List-使用什么?它们如何工作?
我对Enumerators和LINQ的工作方式有疑问。考虑以下两个简单选择: List<Animal> sel = (from animal in Animals join race in Species on animal.SpeciesKey equals race.SpeciesKey select animal).Distinct().ToList(); 要么 IEnumerable<Animal> sel = (from animal in Animals join race in Species on animal.SpeciesKey equals race.SpeciesKey select animal).Distinct(); 我更改了原始对象的名称,以使其看起来像一个更通用的示例。查询本身不是那么重要。我想问的是: foreach (Animal animal in sel) { /*do stuff*/ } 我注意到,如果我使用IEnumerable,当我调试并检查“ sel”(在这种情况下为IEnumerable)时,它具有一些有趣的成员:“ inner”,“ outer”,“ …
675 c#  linq  list  ienumerable 

16
如何从泛型类或方法的成员中获取T的类型?
假设我在类或方法中有一个通用成员,因此: public class Foo<T> { public List<T> Bar { get; set; } public void Baz() { // get type of T } } 当我实例化该类时,T它将变为MyTypeObject1,因此该类具有通用的list属性:List<MyTypeObject1>。非泛型类中的泛型方法也是如此: public class Foo { public void Bar<T>() { var baz = new List<T>(); // get type of T } } 我想知道,我的班级列表包含什么类型的对象。那么被称为list的属性Bar或局部变量baz包含什么类型的T? 我不能这样做Bar[0].GetType(),因为列表可能包含零个元素。我该怎么做?
674 c#  .net  generics 

14
将十进制转换为双精度
我想使用Track-Bar来更改Form的不透明度。 这是我的代码: decimal trans = trackBar1.Value / 5000; this.Opacity = trans; 当我构建应用程序时,它给出以下错误: 无法将类型隐式转换decimal为double 我已经尝试过使用trans,double但随后Control却无法正常工作。该代码在过去的VB.NET项目中运行良好。

9
易失性,连锁性与锁定
假设一个类具有一个public int counter可由多个线程访问的字段。这int仅递增或递减。 要增加此字段,应使用哪种方法,为什么? lock(this.locker) this.counter++;, Interlocked.Increment(ref this.counter);, 将的访问修饰符更改counter为public volatile。 现在我已经发现volatile,我已经删除了许多lock语句和对的使用Interlocked。但是,有理由不这样做吗?

16
在C#中将字符串转换为字节数组
我正在将某些东西从VB转换为C#。该语句的语法有问题: if ((searchResult.Properties["user"].Count > 0)) { profile.User = System.Text.Encoding.UTF8.GetString(searchResult.Properties["user"][0]); } 然后,我看到以下错误: 参数1:无法从“对象”转换为“字节[]” “ System.Text.Encoding.GetString(byte [])”的最佳重载方法匹配具有一些无效的参数 我试图根据这篇文章修复代码,但仍然没有成功 string User = Encoding.UTF8.GetString("user", 0); 有什么建议么?
669 c#  string  vb.net  encoding  byte 

20
IEnumerable <T> / IQueryable <T>上的动态LINQ OrderBy
我在VS2008动态LINQ 示例中找到了一个示例,该示例允许您使用类似sql的字符串(例如,OrderBy("Name, Age DESC"))用于订购。不幸的是,所包含的方法仅适用于IQueryable&lt;T&gt;该功能。是否有任何方法可以启用此功能IEnumerable&lt;T&gt;?
668 c#  linq  linq-to-objects 

30
如何从ASP.NET MVC中的枚举创建下拉列表?
有关如何使用ASP.NET MVC进行堆栈溢出的问题,请参见: 我正在尝试使用Html.DropDownList扩展方法,但无法弄清楚如何通过枚举使用它。 假设我有一个这样的枚举: public enum ItemTypes { Movie = 1, Game = 2, Book = 3 } 如何使用Html.DropDownList扩展方法使用这些值创建下拉列表? 还是我最好的选择就是简单地创建一个for循环并手动创建HTML元素?
668 c#  asp.net  asp.net-mvc 

10
互操作类型无法嵌入
我正在用C#在.NET 4.0框架(beta2)上创建一个Web应用程序。 当我尝试使用名为“ ActiveHomeScriptLib”的程序集时,出现以下错误: 无法嵌入互操作类型'ActiveHomeScriptLib.ActiveHomeClass'。请改用适用的界面。 当我将框架更改为版本3.5时,我没有任何错误。 什么是互操作类型?为什么仅在使用4.0框架时才会发生这种情况?


30
创建单实例WPF应用程序的正确方法是什么?
在.NET(而不是Windows Forms或控制台)下使用C#和WPF ,创建只能作为单个实例运行的应用程序的正确方法是什么? 我知道它与某种称为互斥体的神话事物有关,我很少能找到一个烦人的人来阻止并解释其中的一个。 该代码还需要告知已经运行的实例用户试图启动第二个实例,并且还可能传递任何命令行参数(如果存在)。
656 c#  .net  wpf  mutex 

14
使用LINQ从List <T>中删除元素
假设我有LINQ查询,例如: var authors = from x in authorsList where x.firstname == "Bob" select x; 给定authorsList类型List&lt;Author&gt;,如何删除查询返回的Author元素?authorsListauthors 或者,换一种说法,我该如何删除所有等同于Bob的名字authorsList? 注意:这是出于问题目的的简化示例。
654 c#  .net  linq  list 


30
实现INotifyPropertyChanged-是否存在更好的方法?
微软应该为它实现一些快速的功能INotifyPropertyChanged,例如在自动属性中,只需指定{get; set; notify;} 我认为这样做是很有意义的。还是有任何并发​​症要做? 我们自己可以在属性中实现“通知”之类的功能吗?是否有一个优雅的解决方案可以INotifyPropertyChanged在您的类中实现,还是唯一的解决方法是PropertyChanged在每个属性中引发事件。 如果不能,我们可以写一些东西来自动生成引发PropertyChanged 事件的代码吗?

18
已经有与此命令关联的打开的DataReader,必须首先关闭
我有此查询,并且出现此函数错误: var accounts = from account in context.Accounts from guranteer in account.Gurantors select new AccountsReport { CreditRegistryId = account.CreditRegistryId, AccountNumber = account.AccountNo, DateOpened = account.DateOpened, }; return accounts.AsEnumerable() .Select((account, index) =&gt; new AccountsReport() { RecordNumber = FormattedRowNumber(account, index + 1), CreditRegistryId = account.CreditRegistryId, DateLastUpdated = DateLastUpdated(account.CreditRegistryId, account.AccountNumber), AccountNumber = FormattedAccountNumber(account.AccountType, …


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.