Tag: C#的

为什么Enumerable.All对于一个空序列返回true?

var strs = new Collection<string>(); bool b = strs.All(str => str == "ABC"); 代码创build一个空的string集合,然后尝试确定集合中的所有元素是否为“ABC”。 如果你运行它, b将是真实的。 但collections甚至没有任何元素,更不用说任何等于“ABC”的元素。 这是一个错误,还是有一个合理的解释?

你如何理解C ++中的依赖名称?

我通常在模板的上下文中遇到这个术语“从属名称”。 但是,我很less碰到后者。 因此自然想更多地了解依赖名称的概念。 你如何理解它在模板和外部的情况下? 例如批评鼓励!

如果path受保护,请求Windows Vista UAC提升?

对于我的C#应用​​程序,我不想总是在应用程序启动时提示提升,但是如果他们selectUAC保护的输出path,那么我需要请求提升。 那么,如何检查path是否受到UAC保护,然后如何请求提升中期执行?

OneWayToSource绑定似乎在.NET 4.0中被破坏

OneWayToSource绑定似乎在.NET 4.0中被破坏 我有这个简单的Xaml <StackPanel> <TextBox Text="{Binding TextProperty, Mode=OneWayToSource}"/> <Button/> </StackPanel> 我的代码看起来像这样 public MainWindow() { InitializeComponent(); this.DataContext = this; } private string m_textProperty; public string TextProperty { get { return "Should not be used in OneWayToSource Binding"; } set { m_textProperty = value; } } 在.NET 3.5中,这个工作正如你可能除外。 在TextBox放置一些文本,按下Tab键使其失去焦点, TextProperty更新文本TextBoxinput的任何文本 在.NET 4.0中 ,如果我在TextBox键入一些文本,然后按下Tab使其失去焦点,则TextBox将恢复为TextProperty的值(意思是“不应在OneWayToSource绑定中使用” )。 这是重新阅读旨在.NET 4.0中的OneWayToSource绑定? 我只是希望TextBox将其值推入TextProperty而不是其他方式。 […]

无法加载文件或程序集“Microsoft.ReportViewer.Common,版本= 11.0.0.0

我最近将我的n-tier解决scheme从.NET 3.5 vs 2008升级到4.5 visual studio 2012 。 除了水晶报告之外,每一件事情都很好,我必须从以下链接http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_13_0_5.exe安装Visual Studio 2012的新运行时Crystal报告。 在安装上述软件包之后,我不得不解决一些不赞成使用的CrystalViewer的function和属性,然后在开发环境(Windows 7 64位,SQL Server 2005,Visual Studio 2012)中报告正确渲染。 当我在testing环境Windows Server 2008 R2中部署包时,应用程序无法通过抛出错误加载无法加载文件或程序集Microsoft.ReportViewer.WebForms,Version = 11 我设法通过将C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ ReportViewer中的DLL复制到解决scheme的 bin文件夹并设置属性copylocal = true并部署了该软件包来解决ReportViewer.WebForms错误。 之后,我收到错误无法加载文件或程序集“Microsoft.ReportViewer.Common,版本= 11.0.0.0 。 我试图在我的机器上search该DLL,但不能。 当在Visual Studio中运行项目时,在Debug-> Windows-> Module中 ,文件没有列出,但是在全局程序集caching中安装了这个文件,但是我不知道如何将它安装到全局caching以及从哪里。 我发现一个解决scheme,我不得不安装ReportViewer.msi从微软包,但如果我安装这个包,它要求我安装SQL Server 2012,我不想。 任何人都可以帮我解决这个问题。 谢谢

将任何货币string转换为double

我需要在SQL服务器中存储多种货币。 我明白,SQL不会支持所有不同types的货币(除非我把它作为一个string存储,但我不想这样做)。 我的想法是将所有的价值从他们的货币格式转换为一个标准的双重存储,而不是。 然后在显示时根据文化信息重新格式化。 不过,我尝试做一些像例如 var cultureInfo = new System.Globalization.CultureInfo("en-US"); double plain = return Double.Parse("$20,000.00", cultureInfo); 这似乎没有工作,它总是抛出一个FormatException 。 即使删除货币符号,仅仅基于这个数字来做这件事也是一样的。 这只是我想要支持几乎任何types货币的一个例子。 有没有一个标准的方式来剥离货币,并获得双倍的价值?

types'…'没有定义的构造函数

我注意到编译器错误types'…'没有定义生成的构造函数,当我错误地尝试实例化一个particilar类。 这让我想知道如何去写自己的class级,当有人企图实例化这个消息的时候,我会这样做。 所以下面的代码,我需要做什么MyClass ? namespace MyNamespace { class Program { static void Main(string[] args) { MyClass mc = new MyClass(); } } class MyClass { MyClass() { } } }

如何在C#中立即杀死一个线程?

我正在使用thread.Abort方法杀死线程,但它不工作。 有没有其他的方式来终止线程? private void button1_Click(object sender, EventArgs e) { if (Receiver.IsAlive == true) { MessageBox.Show("Alive"); Receiver.Abort(); } else { MessageBox.Show("Dead"); Receiver.Start(); } } 我正在使用这个,但每次我得到Alive地位, Receiver是我的全球线程。

为WebClient请求设置User-Agent标题

为Windows Phone 7的WebClient请求设置User-Agent标题的正确方法是什么? 我find了两个选项,但不知道哪一个是正确的。 考虑一个WebClient对象: WebClient client = new WebClient(); 我看到了2个选项: 设置用户代理使用: client.Headers["User-Agent"] = "myUserAgentString"; 使用WebHeaderCollection设置用户代理: WebHeaderCollection headers = new WebHeaderCollection(); headers[HttpRequestHeader.UserAgent] = "userAgentString"; client.Headers = headers; 你能告诉我以上两种方法中的哪一种是正确的?

是char * envp 作为main()便携式的第三个参数

为了在C程序中获得一个环境variables,可以使用下面的代码: getenv() extern char **environ; 但除了上面提到的,使用char *envp[]作为main()的第三个参数来获取被认为是标准的一部分的环境variables? #include <stdio.h> int main(int argc, char *argv[], char *envp[]) { while(*envp) printf("%s\n",*envp++); } 是char *envp[]便携?