草庐IT

new_list

全部标签

c# - List<Task> - 使用 C# Entity Framework 的 UPSERT 数据库记录

我有一个Employee对象,我正在尝试使用单个DB实体上下文使用多个任务(并行执行)来更新记录(即更新/删除)。但是我收到以下异常Message="Objectreferencenotsettoaninstanceofanobject."考虑以下DTOpublicclassEmployee{publicintEmployeeId{get;set;}publicstringFirstName{get;set;}publicstringLastName{get;set;}publicListContactPhoneNumbers{get;set;}publicListContactEma

c# - 可观察集合 : calling OnCollectionChanged with multiple new items

请注意,我正在尝试使用NotifyCollectionChangedAction.Add操作而不是.Reset。后者确实有效,但对于大型收藏来说效率不高。所以我将ObservableCollection子类化:publicclassSuspendableObservableCollection:ObservableCollection出于某种原因,这段代码:privateList_cachedItems;...publicvoidFlushCache(){if(_cachedItems.Count>0){foreach(varitemin_cachedItems)Items.Add(i

c# - Visual C# 2010 速成版 : Specify default access modifier for new classes?

每当我使用VisualStudio2010ExpressC#创建新类时,它都会创建没有访问修饰符的新类。10次中有9次我希望我的新类(class)公开。如何让VisualStudio默认使用“public”修饰符创建空类模板? 最佳答案 诀窍是创建一个名为Class的新项模板。然后,当您执行“添加”>“新建类”时,默认情况下将选择您的模板,而不是内置的类模板。(我不确定这种行为是否得到保证,但它可以在我的机器上运行(TM)。)创建模板:右键单击您的项目并选择“添加”>“类”。您可以接受默认名称(Class1)-这只是一个临时文件。修

c# - List<T>.Enumerator 的 Reset 方法的行为

以下两种方法(一种使用IEnumerator,另一种使用List.Enumerator)即使看起来相同会产生不同的结果。staticvoidM1(){varlist=newList(){1,2,3,4};IEnumeratoriterator=list.GetEnumerator();while(iterator.MoveNext()){Console.Write(iterator.Current);}iterator.Reset();while(iterator.MoveNext()){Console.Write(iterator.Current);}}staticvoidM2(){

c# - 将带有 List 的字典转换为 IEnumerable

我有一本字典:Dictionary>test=newDictionary>();然后我填充这个字典,因此我需要这个列表以便我可以调用Add()。我的问题是函数需要返回:Dictionary>有没有简单的方法可以做到这一点,而无需执行明显的操作并循环遍历我的原始字典并手动执行? 最佳答案 returndictionary.ToDictionary(x=>x.Key,x=>x.Value.AsEnumerable()) 关于c#-将带有List的字典转换为IEnumerable,我们在Sta

c# - new() 的通用类型约束和抽象基类

这里我们有一个简单的类层次结构,并且将泛型与typeconstraint一起使用new()的publicabstractclassBase{}publicclassDerived:Base{}publicclassTestClass{privatevoidDoSomething(Targ)whereT:new(){}publicvoidTestMethod(){Derivedd1=newDerived();DoSomething(d1);//compilesBased2=newDerived();DoSomething(d2);//compileerror}}代码在指示的行编译失败,错

c# - IQueryable<T> 给出的结果与 List<T> 不同

如果我在我的EntityFramework结果中对IQueryable使用Select,我将得到4个项目。如果我在IQueryable.ToList()上使用Select,我会得到所有36个项目。函数代码如下:publicImagesGetModelViewGet(intstart,intcount){if(countImageHandler.MaxResult)count=ImageHandler.MaxResult;IQueryableimagesList=ImagesHandler.FetchRangeScore(start,count).Where(m=>m.Domain==D

c# - List<T>.Last() 是否枚举集合?

考虑List的边界是已知的,确实.Last()枚举集合?我问这个是因为documentation说它是由Enumerable定义的(在这种情况下,它将需要枚举集合)如果它确实枚举了集合,那么我可以简单地通过索引访问最后一个元素(正如我们所知的.Count的List),但必须这样做似乎很愚蠢。... 最佳答案 如果集合是IEnumerable,它会枚举集合而不是IList(对于数组或列表,将使用索引)。Enumerable.Last通过以下方式实现(ILSpy):publicstaticTSourceLast(thisIEnumera

c# - 返回 List<T> 的只读包装器的哪种方式更可取?

比如说,我们有一个带有私有(private)列表的通用类。我们至少可以通过两种方式让它返回此列表的只读包装器:publicclassTest{publicListlist=newList();publicIEnumerableValues1{get{foreach(Tiinlist)yieldreturni;}}publicIEnumerableValues2{get{returnlist.AsReadOnly();}}}Values1和Values2都反射(reflect)了底层集合中的任何变化,并防止它通过自身进行修改。哪种方式更可取?应该注意什么?或者还有其他更好的方法吗?

c# - PredicateBuilder.New 与 PredicateBuilder.True

我正在使用PredicateBuilder在我的操作中创建一个搜索/过滤器部分。在这里:[HttpPost]publicActionResultTest(int?cty,stringinumber,int?page){varlstValues=db.TableName.Include(x=>x.Table1).Include(x=>x.Table2).Include(x=>x.Table3).ToList();varpredicate=PredicateBuilder.True();if(!string.IsNullOrWhiteSpace(inumber)){predicate=pr