草庐IT

run_list

全部标签

c# - 使用后期绑定(bind)获取 List<T> 值

我有一个List变量,其中T在编译时未知。我需要访问value类型属性T像这样foreach(variteminitems)//itemsisList{item.value//thiswon'tcompilebecauseTisunknown}我知道在我的例子中会有value属性(property)。我怎样才能访问它? 最佳答案 如果您知道每个T都有VALUE,您可以使用dynamic而不是varforeach(dynamiciteminitems)//itemsisList{item.VALUE}

c# - 静态初始化器中的 Task.Run

考虑以下代码。staticclassX{publicstaticintValue=Task.Run(()=>0).Result;}classProgram{staticvoidMain(string[]args){varvalue=X.Value;}}调用Task.Run然后在静态初始化程序中调用Result会导致程序永久卡住。为什么? 最佳答案 您在CLR的类初始化锁上看到了死锁。基本上,课上什么都没有X可以在类初始化之前使用。但是你的匿名方法()=>0被编译为该类的成员。在Task之前,类初始化不会完成可以完成,但是Task无法

c# - "The debugger cannot continue running the process."

我一直在搞乱VS2010调试设置,试图让.NETFramework正常工作。好吧,我无法让它工作。我也尝试过ReflectorVS插件,它曾一度有效。然后我随机开始收到这个错误:当我在调用IEnumerable.ToList()的行上设置断点时,这仅发生.如果我尝试单步跳过或单步进入我设置断点的那一行,我会收到此错误对话框并且我的调试session结束。如果我将断点移动到下面的行,调试器会使其通过ToList()打电话!我试过以下方法都无济于事:删除Reflector插件。在“工具”>“选项”>“调试”窗口中撤消我的更改(取消选中进入.NETFramework的选项;取消选中源服务器选

c# - System.Collections.Generic.List 中的某项在什么情况下不会被删除成功?

在什么情况下System.Collections.Generic.List中的item不会被成功移除?来自http://msdn.microsoft.com/en-us/library/cd666k3e.aspx:trueifitemissuccessfullyremoved;otherwise,false.ThismethodalsoreturnsfalseifitemwasnotfoundintheList(OfT).他们表达它的方式让我认为对List(OfT)中找到的项目的删除操作实际上可能会失败,因此这个问题。 最佳答案 查

c# - 为什么 List<T> 出现 "Index was out of range"异常而不是数组?

当我初始化数组并使用索引器访问元素时,效果很好:object[]temp=newobject[5];temp[0]="bar";现在我希望同样适用于List,假设您可以通过将容量传递给构造函数来初始化它:Listtemp=newList(5);temp[0]="bar";然而,最后一行抛出以下异常:Indexwasoutofrange.Mustbenon-negativeandlessthanthesizeofthecollection为什么List会发生这种情况类型,但不是数组?由于数组只是CLR集合的较低级别抽象,那么为什么会出现此异常?原创question通过AwaisMahmo

c# - Task.Run 和 Task.Factory.StartNew 之间不同的异常处理

我在使用Task.Factory.StartNew并trycatch抛出的exception时遇到问题。在我的应用程序中,我有一个长时间运行的任务,我想将其封装在Task.Factory.StartNew(..,TaskCreationOptions.LongRunning);但是,当我使用Task.Factory.StartNew时,异常没有被捕获。然而,当我使用Task.Run时,它的工作方式与我预期的一样,我认为它只是Task.Factory.StartNew的包装器(根据例如thisMSDNarticle).此处提供了一个工作示例,不同之处在于使用Task.Run时将异常写入控

c# - 在List<T>中选择整周没有休息日的记录 - C#

我有一个定义如下的Employee类:Employee{publicintId{get;set;}publicstringName{get;set;}publicDateTimeWorkDate{get;set;}publicboolisOff{get;set;}}这是我的类实现和用法:Listworkers=newList(){newEmployee{Id=1,Name="Emp1",WorkDate=Convert.ToDateTime("4/11/2016"),IsOff=false},newEmployee{Id=1,Name="Emp1",WorkDate=Convert.T

c# - 使用查询表达式对 List<T> 进行排序

我在使用Linq订购这样的结构时遇到问题:publicclassPerson{publicintID{get;set;}publicListAttributes{get;set;}}publicclassPersonAttribute{publicintID{get;set;}publicstringName{get;set;}publicstringValue{get;set;}}一个人可能会这样:PersonAttributeAge=newPersonAttribute{ID=8,Name="Age",Value="32"};PersonAttributeFirstName=new

c# - 我可以将 DataContractSerializer 配置为不在输出 XML 中创建可选(即 Nullable<> 和 List<>)元素吗?

我正在使用新的.NET3.0DataContractSerializer。我有要序列化的Nullable>和List>对象。示例:[DataContract(Namespace="")]classTest{publicstaticvoidGo(){Testtest=newTest();vardcs=newDataContractSerializer(typeof(Test));dcs.WriteObject(newStreamWriter("test.xml").BaseStream,test);}[DataMember]publicNullableNullableNumber=nul

c# - 使用 List<string> 替换字符串

我有一个我想忽略的单词列表:publicListignoreList=newList(){"North","South","East","West"};对于给定的字符串,比如"14thAvenueNorth"我希望能够删除“North”部分,所以基本上是一个返回"14thAvenue"调用时。我觉得我应该可以通过混合使用LINQ、正则表达式和替换来完成某些事情,但我就是想不通。更大的图景是,我正在尝试编写一个地址匹配算法。在使用Levenshtein算法评估相似度之前,我想过滤掉“街道”、“北方”、“大道”等词。 最佳答案 这个怎么