草庐IT

Set集合

全部标签

c# - 如何使用 LINQ 转置二维集合中的维度?

考虑以下结构:IEnumerable>collection=new[]{new[]{1,2,3},new[]{4,5,6},new[]{7,8,9}};如何枚举此集合以获得IEnumerable由第一项、第二项等组成的集合?即{1,4,7},{2,5,8},...(虽然我选择的实现是int[]对象,但假设您只有IEnumerable功能。谢谢。) 最佳答案 这是一种使用生成器而不是递归的方法。数组构造也较少,因此它可能更快,但这完全是推测。publicstaticIEnumerable>Transpose(thisIEnumerab

c# - 可以混合对象初始值设定项和集合初始值设定项吗?

我按照此处的说明使用IEnumerable定义了一个集合初始值设定项:http://msdn.microsoft.com/en-us/library/bb384062.aspx现在我可以在我的集合初始值设定项中创建对象,并且它们是通过我的Add()方法添加的,如下所示:classArrangedPanel:RectElement{privateListarrangedChildren=newList();publicintPadding=2;publicvoidAdd(RectElementelement){arrangedChildren.Add(element);//docusto

c# - 如何让正则表达式匹配只添加一次到匹配集合中?

我有一个字符串,其中有几个html注释。我需要计算表达式的唯一匹配项。例如,字符串可能是:varteststring="Hithere";我目前使用它来获取匹配项:varregex=newRegex("");varmatches=regex.Matches(teststring);这是3场比赛的结果。但是,我希望只有2个匹配项,因为只有两个唯一匹配项。我知道我可能可以遍历生成的MatchCollection并删除额外的Match,但我希望有一个更优雅的解决方案。澄清:示例字符串大大简化了实际使用的内容。X8或X9很容易出现,字符串中可能每个都有几十个。 最佳

C# 获取和设置列表集合的属性

集合的属性是如何设置的?我创建了一个具有Collection属性的类。我想在设置新值时随时添加到列表中。在set方法中使用_name.Add(value)不起作用。SectionnewSec=newSection();newSec.subHead.Add("teststring");newSec.subHead.Add("anotherteststring");publicclassSection{publicStringhead{get;set;}privateList_subHead=newList();privateList_content=newList();publicLis

C# 列表框集合语法

在快速学习C#的同时,我遇到了这个Collection语法问题。我向列表框lstData添加了一些我自己的类型MyItem的对象。现在我需要在这个列表框中搜索并想到使用优雅的LINQ符号,例如:lstData.Items.Where(x=>x.Text==SearchString)但列表框的项目没有.Where(),尽管我确实包含了“usingSystem.Linq;”命名空间。所以我尝试了:foreach(MyItemitemin(MyItem)lstData.Items)但这会产生构建错误:无法将类型“System.Windows.Forms.ListBox.ObjectColle

c# - 转换为日期时间 : how to set format

我像这样使用转换:Convert.ToDateTime(value)但我需要将日期转换为类似“mm/yy”的格式。我正在寻找这样的东西:varformat="mm/yy";Convert.ToDateTime(value,format) 最佳答案 您可能应该使用DateTime.ParseExact或DateTime.TryParseExact反而。它们允许您指定特定格式。我个人更喜欢Try版本,因为我认为它们会为错误情况生成更好的代码。 关于c#-转换为日期时间:howtosetfor

c# - 使用Linq查找集合中指定元素之后的元素

我有一个有序的人员列表。我知道那个收藏中有一个人。我如何确定列表中的下一个人? 最佳答案 你可以这样做:IEnumerablepersons=..varfirstPersonAfterJack=persons.SkipWhile(p=>p.Name!="Jack").ElementAt(1);//Zero-indexed,meanssecond想法是生成一个序列,导致跳过元素直到满足条件,然后取那个序列的第二个元素。如果不能保证查询会返回结果(例如,永远找不到匹配项,或者是序列的最后一个元素),您可以将ElementAt替换为Ele

c# - 谷歌 Oauth 错误 : At least one client secrets (Installed or Web) should be set

我正在使用Google的Oauth2.0通过我们的服务器将视频上传到Youtube。我的客户ID是一个“服务帐户”。我下载了jsonkey并将其添加到我的解决方案中。相关代码如下:privateasyncTaskRun(stringfilePath){UserCredentialcredential;varkeyUrl=System.Web.HttpContext.Current.Server.MapPath("~/content/oauth_key.json");using(varstream=newFileStream(keyUrl,FileMode.Open,FileAccess

c# - 在集合 : LINQ 中查找下一条记录

我有一个对象列表,它们都有一个id属性例如1,10,25,30,4我有一个currentId,我需要在列表中找到下一个Id因此,例如当前Id设置为25,我需要返回id为30的对象。之后的对象将是4。我如何在LINQ中优雅地执行此操作?编辑列表按“排序”属性排序。所以你不能只按id排序,因为那样会弄乱顺序。 最佳答案 无需重新排序(请注意,我稍微编辑了一下,因为我认为我误读了问题):int[]data={1,10,25,30,4};intlast=25;varnext=data.SkipWhile(i=>i!=last).Skip(1

c# - 'GET OR SET ACCESSOR EXPECTED' 是什么意思?

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Data;usingSystem.Data.SqlClient;publicpartialclassRepeaterEx2:System.Web.UI.Page{SqlConnectioncn=null;SqlDataAdapterda=null;DataSetds=null;StringstrSqlQuery=