草庐IT

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

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

c# - 在 C# 中按权重选择随机元素的最简洁方法是什么?

让我们假设:List哪个元素是:publicclassElement{intWeight{get;set;}}我想实现的是,根据权重随机选择一个元素。例如:Element_1.Weight=100;Element_2.Weight=50;Element_3.Weight=200;所以机会Element_1被选中是100/(100+50+200)=28.57%机会Element_2被选中是50/(100+50+200)=14.29%机会Element_3被选中的是200/(100+50+200)=57.14%我知道我可以创建循环、计算总数等...我想了解的是,Linq在一行(或尽可能短)

c# - 在 C# 的 LINQ 中按多列分组

我有一个类如下:publicclassActualClass{publicstringBookName{get;set;}publicstringIssuerName{get;set;}publicDateTimeDateOfIssue{get;set;}publicboolStatus{get;set;}}表中有如下数据:对于以下viewModel类,我想按IssuerName和DateOfIssue对它们进行分组:publicclassViewModel{publicstringIssuerName{get;set;}publicDateTimeDateOfIssue{get;se

c# - 如何在 Silverlight 中按名称获取 DependencyProperty?

情况:我有一个字符串,表示Silverlight中文本框的DependencyProperty的名称。例如:“文本属性”。我需要获取对TextBox的实际TextProperty的引用,这是一个DependencyProperty。问题:如果我得到的只是属性的名称,我如何获得对DependencyProperty的引用(在C#中)?DependencyPropertyDescriptor之类的东西在Silverlight中不可用。看来我必须诉诸反射(reflection)才能获得引用。有什么建议吗? 最佳答案 你需要反射(refle

C# - 在 MessageBox 中按下 Enter 触发控件 KeyUp 事件

系统:Windows7Pro,VisualStudio2010,C#我有一个文本框:textBox1我设置它的事件:textBox1.KeyUp+=newKeyEventHandler(textBox1_KeyUp);privatevoidtextBox1_KeyUp(objectsender,KeyEventArgse){if(e.KeyCode==Keys.Enter){button1.PerformClick();}}privatevoidbutton1_Click(objectsender,EventArgse){if(string.IsNullOrEmpty(textBox1

c# - 在 C# 中按名称获取变量

有没有一种方法可以通过知道变量的名称来获取变量的值,如下所示:doubletemp=(double)MyClass.GetValue("VariableName");当我通常会像这样访问变量时doubletemp=MyClass.VariableName; 最佳答案 你可以使用reflection.例如,如果PropertyName是公共(public)property在MyClass上并且您有此类的实例,您可以:MyClassmyClassInstance=...doubletemp=(double)typeof(MyClass)

c# - 检测是否在 KeyRoutedEventArgs 事件中按下修改键

我有以下代码:publicvoidtbSpeed_KeyDown(objectsender,KeyRoutedEventArgse){e.Handled=!((e.Key>=48&&e.Key=96&&e.Key有什么方法可以检测是否按下了像shift这样的修改键? 最佳答案 使用GetKeyState.例如varstate=CoreWindow.GetForCurrentThread().GetKeyState(VirtualKey.Shift);return(state&CoreVirtualKeyStates.Down)==C

c# - 如何在 .Net 2.0 的 sectionGroup applicationSettings 中按名称获取所有部分

这是我的想法:我想要一个小的可执行文件有一个包含多个部分的app.config文件,这些部分位于sectionGroup“applicationSettings”(不是“appSettings”,我不需要写入文件)下。每个部分都有一个名称,对应于一个模块,如果设置的话应该加载。这是一个例子:MyawesomefeaturesettingSomeimportantstring现在,如果我定义FirstModule部分,我希望我的应用程序加载它的程序集。如果未定义该部分,则不应加载该模块。这不仅适用于一个模块,而且还适用于尚未定义数量的模块。所以我基本上需要在运行时找出定义的部分。我该怎么

c# - 在 MVC 中按字母顺序排列 SelectList

similarexample问题是我的选择列表可能有数据(加上它的格式类似于[FordIV200xyx]),我想在其中退休(通过仅显示在其第3列中具有true位值的记录,这也是我需要弄清楚该怎么做),最大的问题是,如果用户添加了另一辆福特,它现在会一直显示在下拉列表的底部,它看起来会非常困惑,甚至可能被忽视,所以有什么想法吗?附注将jquery添加到标签中,以防这是一个可能的解决方案,因为我可以在这个项目中使用它。编辑-对于第3列位值过滤器,这里是solution 最佳答案 您可以使用OrderBy扩展方法:x.ModelId,ne

c# - 在 C# 中按字母顺序对数组进行排序

希望有人能帮忙。我创建了一个可变长度数组,它将接受多个名称输入。我现在想按字母顺序对数组进行排序并将其返回到控制台屏幕。我认为Array.Sort(names);会为我做这件事,但我抛出了一个异常。我一直在查看笔记、示例和在线内容,但似乎没有什么与我正在做的相符。到目前为止,我已经完成了以下工作。我快要在这里扯头发了!PS我已经尝试解决这个问题好几个小时了,我已经30多岁了,正在努力学习自己,所以请不要只说“做你的作业”我已经尝试解决这个问题但不能,所以我需要有人来解释我哪里出错了。今天是星期天,我正在努力做额外的工作,但没有笔记来准确地说明这一点usingSystem;usingSy