草庐IT

selection-sort

全部标签

c# - 在 Select 和 Where 调用中重用 Linq to Entities 的 Expression<Func<T, TResult>

假设我有一个实体对象定义为publicpartialclassArticle{publicId{get;set;}publicText{get;set;}publicUserId{get;set;}}根据文章的某些属性,我需要确定给定用户是否可以删除该文章。所以我添加了一个静态方法来进行检查。像这样的东西:publicpartialclassArticle{publicstaticExpression>CanBeDeletedBy(intuserId){//Addlogictobereusedherereturna=>a.UserId==userId;}}现在我可以做using(MyE

c# - 为什么 List<>.OrderBy LINQ 在 Debug模式下比 IComparable+List<>.Sort 更快?

我感兴趣的是使用LINQ或通过实现IComparable接口(interface)和List.Sort对我的类进行排序是否会更快。当LINQ代码更快时,我感到非常惊讶。为了进行测试,我使用不太恰当的名称TestSort创建了一个非常简单的类,实现了IComparable。classTestSort:IComparable{privateintage;privatestringgivenName;publicintAge{get{returnage;}set{age=value;}}publicstringGivenName{get{returngivenName;}set{givenN

c# - 动态、linq 和 Select()

考虑以下(无意义,但用于说明目的)测试类:publicclassTest{publicIEnumerableToEnumerableStrsWontCompile(IEnumerablet){returnt.Select(x=>ToStr(x));}publicIEnumerableToEnumerableStrsWillCompile(IEnumerablet){varres=newList();foreach(vardint){res.Add(ToStr(d));}returnres;}publicstringToStr(dynamicd){returnnewstring(d.Ge

c# - IEnumerable.Select() 可以跳过一个项目吗?

我有这个功能:publicIEnumerableEnumPrograms(){returndev.AudioSessionManager2.Sessions.AsEnumerable().Where(s=>s.GetProcessID!=0).Select(s=>{try{returnProcess.GetProcessById((int)s.GetProcessID).ProcessName;}catch(ArgumentException){returnnull;}});}try..catch是必需的,因为可能存在具有不再存在的PID的session。我想跳过它们。有没有办法从Se

c# - LINQ 到 XML : How to select the next element

我有一个来自iPhone应用程序的plist文件。它看起来像下面这样:barcodesJF893J89FJ-66666JF893J89FJ-55555currentStep1dateFinished2010-05-10T18:33:25ZdateStarted2010-05-10T18:33:25ZdescriptionTESTgeoRequiredNinProgressNjobID10085jobStepslabelTESTresponsematthudsonstepID1103typeID4我需要在jobSteps之后获取数组。到目前为止我有这个:XDocumentxml=XDoc

c# - 设置 'Select' HTML 控件的选定值

如何使用ASP.NET和C#从代码隐藏文件中设置SelectHTML控件的选定值? 最佳答案 有FindByText和FindByValue函数可用:ListItemli=Select1.Items.FindByText("Three");ListItemli=Select1.Items.FindByValue("3");li.Selected=true; 关于c#-设置'Select'HTML控件的选定值,我们在StackOverflow上找到一个类似的问题:

c# - SelectListItem selected = true 在 View 中不工作

我有一个性别选择字段(--选择--、男性、女性),我正在我的Controller中填充它。当页面加载时,我希望在页面加载时自动选择在模型pm.Gender中选择的性别。pm.Gender的值返回为:""“M”“F”查看:m.Gender,(IEnumerable)ViewData["gender"],new{@class="span2"})%>Controller:gender=new[]{"Select","Male","Female"};ListgenderselectList=newList();foreach(stringitemingender){SelectListItem

c# - 使用 List.Sort(Comparison<T> comparison) 在 C# 中对列表进行排序

我创建了一个类如下:publicclassStringMatch{publicintline_num;publicintnum_of_words;}我已经创建了一个列表Listsm;里面的元素很少。如何使用Comparison对列表进行排序比较过载?必须根据num_of_words进行排序字段。 最佳答案 您可以编写lambda表达式来比较两个对象,如下所示:sm.Sort((x,y)=>x.num_of_words.CompareTo(y.num_of_words));你可以通过添加-进行逆序排序sm.Sort((x,y)=>-x

c# - 为什么 `.Select(...).Last()` 被优化,而 `.Select(...).Last(...)` 没有被优化?

考虑以下枚举器:varitems=(newint[]{1,2,3,4,5}).Select(x=>{Console.WriteLine($"inspect{x}");returnx;});这会产生元素[1,2,3,4,5],在它们被消耗时打印出来。当我调用Last此枚举器上的方法,它会触发仅访问单个元素的快速路径:items.Last();inspect5但是当我将回调传递给Last时,它从头开始遍历整个列表:items.Last(x=>true);inspect1inspect2inspect3inspect4inspect5查看.NETCore源代码,我发现:Last(IEnume

c# - 是否有用于 Where 和 Select 的 (T, int) 重载的 LINQ 语法?

查询varq=fromelemincollectionwheresomeCondition(elem)selectelem;翻译成varq=collection.Where(elem=>someCondition(elem));是否有可转换为以下内容的LINQ语法?varq=collection.Where((elem,index)=>someCondition(elem,index)); 最佳答案 不,没有LINQ语法。一个简单的解决方法是:varq=fromelemincollection.Select((x,i)=>new{x