草庐IT

c# - "() =>"在 C# 中是什么意思?

在CompositeApplicationGuidelines中遇到了以下行。我知道=>是一个lambda,但是()是什么意思?这还有哪些其他示例?它叫什么,我可以搜索一下吗?this.regionViewRegistry.RegisterViewWithRegion(RegionNames.SelectionRegion,()=>this.container.Resolve().View); 最佳答案 这是一个接受0个参数的lambda表达式http://msdn.microsoft.com/en-us/library/bb397

c# - c#中list<>和dictionary<>有什么区别

我对c#中的列表和字典有一个奇怪的疑问在列表中,我们使用以下方法将项目添加到列表usingSystem.Collections.Generic;classProgram{staticvoidMain(){Listlist=newList();list.Add(2);list.Add(3);list.Add(5);list.Add(7);}}在字典中我们添加这样的项目......usingSystem;usingSystem.Collections.Generic;classProgram{staticvoidMain(){Dictionaryd=newDictionary();d.Ad

c# - IList<T> 到 ObservableCollection<T>

我在当前返回IList的Silverlight应用程序中有一个方法,我想找到最干净的方法将其转换为ObservableCollection,因此:publicIListGetIlist(){//ProcesssomestuffandreturnanIList;}publicvoidConsumeIlist(){//SomeCollectionisdefinedintheclassasanObservableCollection//Option1//Doesn'twork-SomeCollectionisNULLSomeCollection=GetIlist()asObservableC

c# - 如何将 XML 转换为 List<string> 或 String[]?

如何将以下XML转换为List或String[]:12 最佳答案 听起来您更多的是在解析之后而不是完整的XML序列化/反序列化。如果您可以使用LINQtoXML,这将非常简单:usingSystem;usingSystem.Linq;usingSystem.Xml.Linq;publicclassTest{staticvoidMain(){stringxml="12";XDocumentdoc=XDocument.Parse(xml);varlist=doc.Root.Elements("id").Select(element=>e

c# - 如何在一行 C# 3.0 中将 object[] 转换为 List<string>?

好吧,我放弃了,你如何在一行中做到这一点?publicobjectConvert(object[]values,TypetargetType,objectparameter,System.Globalization.CultureInfoculture){//Listfields=values.ToList();//Listfields=valuesasList;//Listfields=(List)values;Listfields=newList();foreach(objectvalueinvalues){fields.Add(value.ToString());}//proce

c# - 移植时出现 Mono resources.resx 问题( '</data>' 上的 resx xml 文件出现奇怪错误)

所以我有一个C#应用程序。它有一些链接到它的Assets,并在编译时被嵌入。应用程序在Windows上完美编译和运行。当测试与单声道的兼容性时,一切都是正确的。如果我尝试编译给出一个错误nxml文件/home/rupert/Desktop/CloudObserverLite(4)/CloudObserverLite/Properties/Resources.resx:Error:Error:InvalidResXinput.Position:Line123,Column5.Innerexception:value(CloudObserverLite)如果我们将查看resxxml...S

c# - 带有 yield 返回的异步任务<IEnumerable>?

以下方法无法编译。替代方案?publicstaticasyncTask>GetRecordsAsync(thisTransactiontransaction,stringcommandText,paramsSqlParameter[]parameters){//GetaSqlDataReadervarreader=awaittransaction.GetReaderAsync(commandText,parameters);varfieldCount=-1;//Beginiteratingthroughrecordsasynchronouslywhile(awaitreader.Rea

c# - 与 Contract.Requires<T> 相比抛出异常?

我想知道我是应该抛出异常还是调用Contract.Requires例如:publicstaticvoidFunction(Stringstr){if(str==null)thrownewArgumentNullException("str","Inputstringcannotbenull.");//...}对比publicstaticvoidFunction(Stringstr){Contract.Requires(str!=null,"Inputstringcannotbenull.");//...}自Contract.Requires不需要CONTRACTS_FULL符号我也可以

c# - 内部 System.Linq.Set<T> 与公共(public) System.Collections.Generic.HashSet<T>

检查Linq.Enumerable类中的这段代码:staticIEnumerableDistinctIterator(IEnumerablesource,IEqualityComparercomparer){Setset=newSet(comparer);foreach(TSourceelementinsource)if(set.Add(element))yieldreturnelement;}为什么Microsoft的人决定使用Set的这个内部实现而不是常规的HashSet?如果它在任何方面都更好,为什么不向公众公开呢? 最佳答案

c# - 如何从 IReadOnlyDictionary<,> 创建新的 Dictionary<,>?

.NET4.5引入了方便的IReadOnlyDictionary界面。Dictionary是一个IReadOnlyDictionary,因此我可以在需要后者的任何地方传递前者。不过,我不确定相反的方法:我如何创建一个新的Dictionary基于现有IReadOnlyDictionary?Dictionary有几个采用IDictionary的构造函数--但没有一个需要IReadOnlyDictionary.IReadOnlyDictionary有一个扩展方法ToDictionary().但是,这是从IEnumerable继承的.所以要使用它,我必须像这样传递两个完全多余的代表:readO