草庐IT

array_list_name

全部标签

C# 验证 : IDataErrorInfo without hard-coded strings of property name?

实现IDataErrorInfo的最佳做法是什么?无论如何都可以在没有属性名称硬编码字符串的情况下实现它? 最佳答案 通用验证例程的基类您可以使用DataAnnotations如果您在IDataErrorInfo实现中做了一些futzing。例如,这是我经常使用的基本View模型(来自Windows窗体,但您可以推断):publicclassViewModelBase:IDataErrorInfo,INotifyPropertyChanged{publiceventPropertyChangedEventHandlerPropert

c# - 查询 List<T> 或数据库更快吗?

我最近有几种情况需要同一张表中的不同数据。一个例子是我将遍历每个“送货司机”并为他们要送货的每个客户生成一个可打印的PDF文件。在这种情况下,我把所有的customer拉过来,存入ListAllCustomersList=customers.GetAllCustomers();当我遍历送货司机时,我会做这样的事情:ListDeliveryCustomers=AllCustomersList.Where(a=>a.DeliveryDriverID==DriverID);我的问题:每次查询与送货司机相关的客户记录时,我通过查询List对象的方式是否比查询数据库更快?

c# - .Net CultureInfo Month Names 返回一个额外的空字符串

我有以下代码来获取月份名称列表:varmonthNames=System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.MonthNames;出于某种原因,这会不断返回一个额外的空字符串值以及月份名称:我正在使用XamarinStudio。其他人以前遇到过这种情况吗? 最佳答案 有些日历像TaiwanLunisolarCalendar或KoreanLunisolarCalendar有13个月。在12个月的日历中,数组的第13个元素是一个空字符串。DateTimeFor

c# - 将 null 添加到 List<bool?> 作为 IList 抛出异常

使用.NET3.5和C#3.0,IListlist=newList();list.Add(null);这会抛出一个ArgumentException,感觉不对。Listlist=newList();list.Add(null);完美运行。那么这是Microsoft代码中的错误吗?如何在现实生活中产生这种错误的例子:newJavaScriptSerializer().Deserialize>("[true,false,null]"); 最佳答案 是的,是的。参见http://social.msdn.microsoft.com/Foru

c# - List<T> 没有实现 SyncRoot!

每个人都使用很多列表。我需要遍历这个列表,所以我使用已知的SyncRoot模式。最近我注意到this发布应该避免使用SyncRoot以支持“嵌入式”线程安全(每个方法将锁定一个私有(private)对象而不使用SyncRoot属性公开它)。我能理解,部分同意。问题是List类不实现SyncRoot属性,即使实现了ICollection接口(interface),它公开了SyncRoot属性。我说这会破坏代码Listlist=newList()list.SyncRoot;给我以下编译器错误:errorCS0117:'System.Collections.Generic.List'does

c# - 编辑 List<Tuple> 项

用List你可以用这个简单地编辑一个项目:varindex=List.FindIndex(s=>s.Number==box.Text);List[index]=newString;但是,如何将它应用于List>例如? 最佳答案 您可以用类似的方式找到索引-通过对列表中的每个元组应用条件:varindex=listOfTuples.FindIndex(t=>t.Item1==box1.Text||t.Item2==box2.Text);您可以通过调用Tuple.Create来替换一个项目:listOfTuples[index]=Tup

c# - C# : generate a list of two dimension arrays with the same shape 中的 FsCheck

假设我正在编写一些视频分析代码。这是视频类的简化版本:publicclassVideo{publicreadonlyintWidth;publicreadonlyintHeight;publicreadonlyListFrames;publicVideo(intwidth,intheight,IEnumerableframes){Width=width;Height=height;Frames=newList();foreach(varframeinframes){if(frame.GetLength(0)!=height||frame.GetLength(1)!=width){thr

C#:Array.CreateInstance:无法将类型 [*] 的对象转换为类型 []

我想通过调用在c#中创建一个非零下界一维数组Array.CreateInstance(typeof(int),newint[]{length},newint[]{lower});返回数组的类型不是int[],而是int[*]。谁能详细说明这是什么意思?我希望能够将这个数组返回给调用者,例如,int[]GetArray(){...}谢谢。 最佳答案 是的,这是一个陷阱!向量和一维数组之间存在差异。int[]是一个向量。向量(如int[])必须从0开始。否则,您必须将其命名为Array。例如://andyes,thisisdoingit

c# - ActionResult<IEnumerable<T>> 必须返回一个 List<T>

使用ASP.NETCore2.1获取以下代码:[HttpGet("/unresolved")]publicasyncTask>>GetUnresolvedIdentities(){varresults=await_identities.GetUnresolvedIdentities().ConfigureAwait(false);returnresults.ToList();}自从GetUnresolvedIdentities()我就想到了返回IEnumerable我可以返回returnawait_identities.GetUnresolvedIdentities().Configu

c# - AllowUserToAddRows 不适用于 DataGridView 上的 List<> 数据源

我有一个DataGridView与DataSource设置为List但是,当我设置AllowUserToAddRows时,新行指示器不显示至true,当我设置DataSource至BindingList,这似乎解决了问题。问:应该替换我的List与BindingList或者有更好的解决方案? 最佳答案 是否myClass有一个公共(public)的无参数构造函数?如果不是,您可以从BindingList派生并覆盖AddNewCore调用您的自定义构造函数。(edit)或者-只需将您的列表包装在BindingSource中它可能会起作