草庐IT

Set集合

全部标签

c# - 为什么 <enum> 的集合无法转换为 <int?>?

为什么enum的集合无法转换为int?enumTest{A=1,B=2};int?x=(int?)Test.A;//Validvarcollection1=new[]{Test.A}.Cast().ToList();//InvalidCastExceptionhasthrown(Specifiedcastisnotvalid.)varcollection2=new[]{Test.A}.Cast().ToList(); 最佳答案 Cast方法只能进行装箱/拆箱转换、引用转换以及枚举类型与其基础整数类型之间的转换。不过,拆箱必须是正确的

c# - 字典的匿名集合初始值设定项

是否可以隐式声明下一个Dictionary:{urlA,new{Text="TextA",Url="UrlA"}},{urlB,new{Text="TextB",Url="UrlB"}}所以我可以这样使用它:foreach(varkindic){k.Key.Text=k.Value.Text;k.Key.NavigateUrl=k.Value.Url;}? 最佳答案 怎么样:vardict=new[]{new{Text="TextA",Url="UrlA"},new{Text="TextB",Url="UrlB"}}.ToDicti

C#:将集合转换为 params[]

这里是我的代码的简化:voidFoo(paramsobject[]args){Bar(string.Format("Some{0}text{1}here{2}",/*Iwanttosendargs*/);}string.Format需要作为params发送的参数。有什么方法可以将args集合转换为string.Format方法的参数吗? 最佳答案 params关键字只是语法糖,它允许您使用任意数量的参数调用此类方法。但是,这些参数始终作为数组传递给方法。这意味着Foo(123,"hello",DateTime.Now)等同于Foo(

c# - 如何在 ASP.NET MVC 4 Razor 项目的 View 中显示集合?

我有以下模型:publicclassContractPlain{publicintId{get;set;}publicGuidContractGuid{get;set;}publicintSenderId{get;set;}publicintRecvId{get;set;}publicintContractType{get;set;}publicstringContractStatus{get;set;}publicDateTimeCreatedTime{get;set;}publicDateTimeCreditEnd{get;set;}}publicclassContrtacts{L

c# - 在不锁定集合的情况下从通用集合中获取 Count 值是安全的吗?

我有两个线程,一个生产者线程将对象放入通用列表集合中,另一个消费者线程将这些对象从同一个通用列表中拉出。我已经使用lock关键字正确同步了对集合的读取和写入,并且一切正常。我想知道是否可以在不先锁定集合的情况下访问Count属性。JaredPar引用计数属性inhisblog作为可能导致竞争条件的决策程序,如下所示:if(list.Count>0){returnlist[0];}如果列表中有一个项目,并且在访问Count属性之后但在索引器之前删除了该项目,则会发生异常。我明白了。但是使用Count属性可以确定一个完全不同的集合的初始大小吗?MSDNdocumentation说实例成员不

c# - 在 API 中返回的最佳集合类型是什么

我一直认为在拥有公共(public)API时返回数组比列表更好,但现在看来列表上的所有这些函数都可以通过LINQ等获得。此处返回基元或对象集合的最佳实践是否发生了变化?例如:Order[]GetOrders();ListGetOrders();IEnumerableGetOrders();IQueryableGetOrders(); 最佳答案 因为我通常只从属性/方法返回不可变(不可修改)的对象,所以这个答案假设你想做同样的事情。不要忘记ReadOnlyCollection它返回一个仍然可以通过索引访问的不可变集合。如果您使用IEn

c# - .NET4 中带有集合的简单自定义配置部分

我正在尝试为.NET4应用程序编写一个非常简单的自定义配置部分。我的目标是:但是,当我调用ConfigurationManager.GetSection("myServices")时,我不断收到ConfigurationErrorsException:'Unrecognizedelement'add''。我已经盯着它看了一段时间了,但还没有弄清楚我做错了什么。下面是我的代码。它包含三个类:ConfigSection、MyServiceSettingsCollection和MyServiceSettings。首先是代表整个配置部分的类。它有一个类型为MyServiceSettingsCo

c# - MVC .NET 在强类型 View 中从模型集合创建下拉列表

所以我有一个像这样的集合类型的View:>"%>OrganizationDTO看起来像这样:publicOrganizationDTO{intorgID{get;set;}stringorgName{get;set;}}我只是想使用HTML帮助程序从OrganizationDTO的集合中创建一个下拉列表,但我无法弄清楚!我是不是用错了方法?我应该使用foreach循环来创建选择框吗? 最佳答案 我用像你这样的模型做了一个小例子:publicclassOrganizationDTO{publicintorgID{get;set;}pu

c# - 为什么我可以使用集合初始值设定项和来自另一个类的私有(private)集合访问?

考虑以下代码:publicsealedclassOrder{publicOrder(){Items=newList();}publicListItems{get;privateset;}}publicsealedclassOrderItem{}这里是另一个类中的Order初始化。varorder=newOrder{Items={newOrderItem(),newOrderItem()}};您能解释一下它为什么有效吗?如您所见,Order具有privateset属性,所以我认为不可能设置它的值。 最佳答案 您的语句之所以有效,是因为

c# - 从 SQL 数据库表中读取数据到通用集合

我想从一个表(包含3行)中读取所有数据并将所有数据添加到通用集合中。我想从集合中绑定(bind)到gridview。下面显示的代码有效,但在gridview中只显示最后一行3次。你能帮帮我吗?我是初学者protectedvoidPage_Load(objectsender,EventArgse){Listlistid=newList();Studentstud=newStudent();SqlConnectioncon=newSqlConnection("........");stringsql="select*fromStudentInfo";con.Open();SqlComman