Tag: c# 3.0

Visual Studio不支持XSLT 2.0

我正在使用visual studio 2010。 在运行xslt2.0时遇到以下错误 xsl:value-of / * **尚未实现。 ‘xsl:result-document’**尚未实现。 任何人都可以帮我解决上述问题

DateTime TypeConverter

我有下面的代码将字符串转换为类型T.它适用于所有其他类型,但是当T是DateTime类型时给出错误。 TypeConverter c = TypeDescriptor.GetConverter( typeof (T) ); return (T) c.ConvertTo( obj, typeof (T) ) 我传了一个字符串 obj = “09/09/2009” 它抛出一个错误{“’DateTimeConverter’无法将’System.String’转换为’System.DateTime’。”}

除了通过调用thread.Join()之外,我怎么能等待一个线程完成运行?

我正在开发一个项目,其中从库中可用的应用程序调用方法。 我在按钮点击事件中有以下代码: Thread thread = new Thread(new ThreadStart(AddPics)); thread.Priority = ThreadPriority.Highest; thread.Start(); execute(); 但是在运行示例时,执行点总是会移动到执行。 如何使程序首先执行AddPics方法。 我已经尝试过thread.Join()并且它有效,但我想知道是否还有其他方法可以实现这一点。

传递Func keySelector错误

static void Main() { string[] a = { “a”, “asd”, “bdfsd”, “we” }; a = a.OrderBy(fun).ToArray(); } private static int fun(string s) { return s.Length; } 它给出了编译时错误。 我知道我们可以用这样的Lambda表达式做到这一点。 a.OrderBy(s=>s.Length).ToArray(); 但我想通过定义不同的function来做到这一点。 我做错了什么?

无法找到命名空间或类(ASP.NET WebSite“项目”)

我目前正在尝试清理我在这里inheritance的一些公司网站。 我设法清理了网站上的大部分错误,但仍有一些问题在这里。 我有一个包含此代码的母版页: using System; using System.Data; using System.Configuration; using System.Collections; using System.ComponentModel; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class MasterPage : System.Web.UI.MasterPage { public lists m_listsClass = new lists(); (不,这不是列表中S的错字)。 现在在App_code中我有一个类lists.cs using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using […]

应该在C#中清空“if”语句导致错误或警告?

让我从现实生活中的例子开始: 客户:Alex,刚刚在第138行的RemovalProcessor中发现了一些奇怪的事情: if (Session.Handler.ExecutePrefetchTasks()==null); Session.ExecuteDelayedQueries(); 那个’if’后面的半圆是否应该在那里? 我:哎呀……我会把它发给我们的家伙来检查,但最有可能的是,你是对的。 虽然案件很少见,但我承认几乎所有大项目都有类似的问题。 我知道C#中的分号(和语句块)使用规则不能改变(我个人更喜欢Python风格)。 但我认为用if语句准确识别这种情况是个好主意,并将其归类为错误或警告。 很少有Q / AI考虑到: 为什么在这种情况下应该生成警告或错误? 因为这是开发人员的错误可能是99%的概率。 为什么在这种情况下错误更可取? 在许多情况下,开发人员会忽略警告。 我明白这是他们自己的问题,并且有/ warnaserror(威胁警告为错误)切换,但由于这是一个非常高概率的错误,并且,如果它不是错误(真的?;)),它是相当的很容易解决这个问题,可能最好将此案例归类为错误。 最后,在这种情况下的错误不会“限制”开发人员,因为这样的代码可以(并且可能必须)总是在没有if语句的情况下重写。 为什么警告在这种情况下更可取? 这不会破坏兼容性; 我还怀疑一些代码生成器可能会依赖于当前行为生成代码。 所以我很高兴听到你对此的看法。

如何使用HashSet 删除MyCustomClass的重复项?

我有一个HashSet mySet = new HashSet(); 我希望删除包含相同值的所有MyCustomClass。 假设MyCustomClass看起来像这样: public class MyCustomClass { Point point; public MyCustomClass(int x, int y) { point.X = x; point.Y = y; } // Other methods… } 我尝试像MSDN建议的那样实现IEqualityComparer ,并将其传递给HashSet();的构造函数HashSet(); 但我最终失败了。 什么是正确的方法? 编辑: 这是我的Chain类和我的ChainEqualityComparer : public class Chain { HashSet chain; HashSet marks; public Chain(HashSet marks) { chain = new HashSet(); this.marks = […]

LINQ lambda表达式附加OR语句

如果我想在我的查询中附加AND语句,我可以这样做: query = query.Where(obj=>obj.Id == id); if(name.HasValue) query = query.Where(obj=>obj.Name == name); 它会给我: query.Where(obj=>obj.Id == id && obj.Name == name) 如何附加将导致以下结果的OR语句: query.Where(obj=>obj.Id == id || obj.Name == name)

没有显式键的匿名类型的语法(`new {identifier}`)?

在这个问题中,我看到了一个匿名类型表达式,其中包含一个不熟悉的语法: new { MyObjectID = g.Key, totalSum } 起初我认为它( , totalSum } )是一个语法错误,因为没有指定键,但它编译并在C#3.0中工作。 我在LINQPad(2.x – > C#3)中validation了这种语法: var y = “:-)”; var q = new { Y = y, y, y.Length, }; q.Dump(); 结果: (anon type) { Y = “:-)”, y = “:-)”, Length = 3 } 规范中的哪个位置定义了这种语法? (答案应包括适用的参考资料和适当的摘录。) 并且,更主观(随意不回答),省略键是否是一个好的语法/捷径? 到目前为止,我还没有使用它,我不知道它,我不是很迷恋那个语法糖。

列出“X”列表的串联

我有例如5列出所有相同的类型。 我能做到吗? List newset = List1.Concat(List2).Concat(List3).Concat(List4)…..