Tag: c# 3.0

Lambda for Dummies …任何人,任何人? 我想不是

为了理解这个非常奇怪的'=>'操作符,我find了一个很好的开始 ,作者非常简洁明了: parameters => expression 有没有人有任何提示,理解lambda的基础知识,以便更容易'破译'更复杂的lambda语句? 举例来说:如果给我一些像(从我在这里收到的答复 ): filenames.SelectMany(f => Assembly.LoadFrom(f).GetCustomAttributes(typeof(PluginClassAttribute), true) .Cast<PluginClassAttribute>() .Select(a => a.PluginType) ).ToList(); 我怎么能把这个分解成更简单的部分呢? 更新:想炫耀我的第一个lambdaexpression式。 不要嘲笑我,但是我没有模仿别人的榜样,而是第一次运作: public ModuleData[] GetStartModules( ) { return modules.FindAll(start => start.IsBatch == true).ToArray(); }

对象到string数组

我试图将一个对象(在这里声明为'obj':对象是数组,原始)转换为一个string数组。 对象可以是任何东西uint [],int16 []等 我一直在尝试使用 string[] str = Array.ConvertAll<object, string>((object[])obj, Convert.ToString); 当我尝试将未知types的对象转换为object []时,就会出现这个问题。 我一直在铸造错误。 我做了一个失败的尝试 object[] arr = (object[])obj; 要么 IEnumerable<object> list = obj as IEnumerable<object> object[] arr = (object[])list; 我看到关于铸造的价值types和参考types问题的发布。 会有一个简单的代码,可以处理对象[],而不考虑types的对象,只要它是一个数组? 我试图避免每个可能的types铸造的手动处理。 提前致谢

标签文字包装

有没有办法在.NET标签控件中做一个单词包装? 我知道有一种使用TextBox的替代方法,将属性BorderStyle设置为none,将属性ReadOnly设置为true,并将属性WordWrap和属性Multiline设置为true。 有什么标签?

将整数转换为罗马数字

我正在尝试编写一个将数字转换为罗马数字的函数。 这是我的代码到目前为止; 但是,它只适用于小于400的数字。有没有一个简单快捷的方法来执行此转换,或扩展我现有的代码,以便处理所有情况? 在此先感谢您的帮助。 static string convertroman(int number) { int l = number / 10; StringBuilder sb = new StringBuilder(); for (int m = 0; m <= l; m++) { if (l == 0) { break; } if (l == 5) { sb = sb.Append(ro.L.ToString()); break; } if (l == 4) { sb = sb.Append(ro.X.ToString()).Append(ro.L.ToString()); […]

C#自动属性 ​​- 为什么我必须写“get; 组;”?

如果在C#自动属性中都强制使用get和set,为什么还要指定“get; set” 在所有?

用Enumerable.Range与传统for循环的foreach思考

在C#3.0中,我喜欢这种风格: // Write the numbers 1 thru 7 foreach( int index in Enumerable.Range( 1, 7 ) ) { Console.WriteLine( index ); } 在传统的循环中: // Write the numbers 1 thru 7 for( int index = 1; index <= 7; index++ ) { Console.WriteLine( index ); } 假设'n'很小,所以表演不是问题,有没有人反对传统风格的新风格?

我可以为C#中的匿名类指定一个有意义的名称吗?

我们都知道,当我们创build一个这样的匿名类: var Employee = new { ID = 5, Name= "Prashant" }; …在运行时它将是types的: <>f__AnonymousType0<int,string> 有什么办法可以为这些类指定一个有意义的名字吗?

Func委托与refvariables

public object MethodName(ref float y) { //method } 我如何为这个方法定义一个Func委托?

有没有办法检测一个对象是否被locking?

有没有什么办法来确定一个对象是否被locking在C#中? 我有一个难以置信的位置,通过devise,我正在从一个class级里面的队列里读书,而且我需要将这些内容转储到class级中的一个集合中。 但是该集合也可以从类外的接口读取/写入。 所以显然可能会有这样一个情况,即收集正在写入,同时我想写信给它。 我可以编程,使用委托,但它会是丑陋的。

为什么.ForEach()在IList <T>而不是IEnumerable <T>?

可能重复: 为什么IEnumerable接口上没有ForEach扩展方法? 我注意到在编写LINQ-y代码时,.ForEach()是一个很好用的习惯用法。 例如,下面是一段代码,它接受以下input,并生成这些输出: { "One" } => "One" { "One", "Two" } => "One, Two" { "One", "Two", "Three", "Four" } => "One, Two, Three and Four"; 和代码: private string InsertCommasAttempt(IEnumerable<string> words) { List<string> wordList = words.ToList(); StringBuilder sb = new StringBuilder(); var wordsAndSeparators = wordList.Select((string word, int pos) => { if (pos == […]