草庐IT

索引库

全部标签

c# - 遍历索引属性(反射)

我想迭代一个我只能通过反射访问的索引属性,但是(我在充分了解可能有一个令人尴尬的简单答案的情况下说这个,MSDN/Google失败=/)除了在PropertyInfo.GetValue(prop,counter)直到抛出TargetInvocationException。阿拉:foreach(PropertyInfopropinobj.GetType().GetProperties()){if(prop.GetIndexParameters().Length>0){//getanintegercountvalue,byincrementingacounteruntiltheexcept

c# - 如何在 LINQ 中为 var 编制索引?

我正在尝试让以下代码在LINQPad中工作,但无法索引到var。有人知道如何在LINQ中索引到var吗?string[]sa={"one","two","three"};sa[1].Dump();varva=sa.Select((a,i)=>new{Line=a,Index=i});va[1].Dump();//Cannotapplyindexingwith[]toanexpressionoftype'System.Collections.Generic.IEnumerable' 最佳答案 正如评论所说,您不能使用[]应用索引到Sy

c# - 如何通过整数索引引用 Dictionary<string, string> 中的项目?

我做了一个字典集合,以便我可以通过它们的字符串标识符快速引用这些项目。但我现在还需要通过索引计数器访问这个集合(foreach在我的真实示例中不起作用)。我必须对下面的集合做什么才能通过整数索引访问它的项目?usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceTestDict92929{classProgram{staticvoidMain(string[]args){Dictionaryevents=newDictionary();events.Add("firs

c# - 如何在 C# 中根据索引拆分列表?

我现在有一个包含大约190个元素的列表。如何将列表拆分为更小的列表,每个列表中最多包含50个元素?结果可能是包含50、50、50和40个元素的列表。 最佳答案 假设您的意思是List,您可以使用GetRange方法反复。哎呀,你可以用LINQ做到这一点:varlists=Enumerable.Range(0,(list.Count+size-1)/size).Select(index=>list.GetRange(index*size,Math.Min(size,list.Count-index*size))).ToList();当

c# - 用于有条件地获取列表项索引的 Lambda 表达式

我有一个List.我需要获取项目值=true的前n个项目的索引。例如下面的列表项(bool)10011001000TopTrueIndexes(3)=Thefirst3indexeswherebitsaretrueare0,3,4TopTrueIndexes(4)=Thefirst4indexeswherebitsaretrueare0,3,4,7我如何为此编写lambda? 最佳答案 好吧,假设你有一些容易识别的条件,你可以做这样的事情,这将适用于任何IEnumerable:varquery=source.Select((valu

c# - 重载索引器以具有 foreach'able 类

我试图做这样的事情,但这不起作用:classGarage{privateListcars=newList();publicCarthis[inti]{get{returncars[i];}}//...}Garageg=newGarage();//getCS1579-noGetEnumeratordefinitionforeach(Carcing){//...}由于MSDN说索引器可能会过载,所以我决定在这里请教专家。如何重载索引器配合foreach循环? 最佳答案 foreach与indexers无关.您需要声明一个GetEnume

c# - List<T>.ForEach 带索引

我正在尝试查找与以下代码等效的LINQ:NameValueCollectionnvc=newNameValueCollection();Listdonations=newList();donations.Add(newBusinessLogic.Donation(0,"","","");donations.Add(newBusinessLogic.Donation(0,"","","");donations.Add(newBusinessLogic.Donation(0,"","","");for(vari=0;i我希望我可以使用类似的东西:NameValueCollectionnvc

c# - 从集合中按索引获取一组项目的最优雅方法是什么?

给定IListindexes;ICollectioncollection;根据indexes中提供的索引提取collection中所有T的最优雅的方法是什么?例如,如果集合包含"Brian","Cleveland","Joe","Glenn","Mort"和包含的索引1,3返回的是"Cleveland,""Glenn"编辑:假设indexes总是升序排列。 最佳答案 这假设索引序列是非负索引的单调升序序列。该策略很简单:对于每个索引,将集合中的枚举数增加到该点并生成元素。publicstaticIEnumerableGetIndex

c# - 如何在给定索引和长度的情况下选择 RichTextBox 文本

如果只给定要选择的特定文本的索引和长度(或EndIndex),如何在WPF版本的RichTextBox中执行此操作?这在Textbox中非常可行,因为您可以调用Textbox.Select(startIndex,Length)但我在RTB中看不到任何等效项。编辑:我找到了做出选择的答案internalstringSelect(RichTextBoxrtb,intindex,intlength){TextRangetextRange=newTextRange(rtb.Document.ContentStart,rtb.Document.ContentEnd);if(textRange.T

c# - 通过增加索引总和来生成有序组合的有效方法

对于启发式算法,我需要一个接一个地评估特定集合的组合,直到达到停止标准。因为它们很多,目前我使用以下内存高效迭代器block生成它们(受python的itertools.combinations启发):publicstaticIEnumerableGetCombinations(thisIListpool,intr){intn=pool.Count;if(r>n)thrownewArgumentException("rcannotbegreaterthanpoolsize");int[]indices=Enumerable.Range(0,r).ToArray();yieldretur