Questions tagged «c#»

C#(发音为“ See Sharp”)是由Microsoft开发的一种高级,静态类型的多范例编程语言。C#代码通常针对Microsoft的.NET系列工具和运行时,其中包括.NET Framework,.NET Core和Xamarin。使用此标记可解决有关用C#或C#正式规范编写的代码的问题。

9
X509Certificate构造函数异常
//cert is an EF Entity and // cert.CertificatePKCS12 is a byte[] with the certificate. var certificate = new X509Certificate(cert.CertificatePKCS12, "SomePassword"); 当从数据库中加载证书时,在暂存服务器(Windows 2008 R2 / IIS7.5)上,会出现以下异常: System.Security.Cryptography.CryptographicException: An internal error occurred. at System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr) at System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromBlob(Byte[] rawData, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx) at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromBlob(Byte[] rawData, Object password, X509KeyStorageFlags …


6
模拟静态方法
最近,我开始使用Moq进行单元测试。我使用Moq来模拟不需要测试的类。 您通常如何处理静态方法? public void foo(string filePath) { File f = StaticClass.GetFile(filePath); } 怎么会StaticClass.GetFile()嘲笑这个静态方法? 附言:对于您建议的最小起订量和单元测试,我将不胜感激。
73 c#  unit-testing  mocking  moq 

6
如何在LINQ中进行子查询?
这是我要转换为LINQ的查询示例: SELECT * FROM Users WHERE Users.lastname LIKE '%fra%' AND Users.Id IN ( SELECT UserId FROM CompanyRolesToUsers WHERE CompanyRoleId in (2,3,4) ) CompanyRolesToUsers和之间存在FK关系Users,但它是多对多关系,并且CompanyRolesToUsers是联结表。 我们已经构建了大部分站点,并且已经通过使用PredicateExtensions类构建Expressions来完成了大部分过滤工作。 简单过滤器的代码如下所示: if (!string.IsNullOrEmpty(TextBoxLastName.Text)) { predicateAnd = predicateAnd.And(c => c.LastName.Contains( TextBoxLastName.Text.Trim())); } e.Result = context.Users.Where(predicateAnd); 我正在尝试为另一个表中的子选择添加谓词。(CompanyRolesToUsers) 我想要添加的是执行以下操作的操作: int[] selectedRoles = GetSelectedRoles(); if( selectedRoles.Length > 0 ) { …
73 c#  linq  linq-to-sql 

6
什么决定Path.GetTempPath()的返回值?
当前,我曾经Path.GetTempPath()想出将日志文件写入哪里,但是最近我遇到了一个用户的计算机,该计算机返回的路径不是我所期望的。 通常,返回的路径是C:\ Documents and Settings \ [userid] \ Local Settings \ Temp, 但在这种情况下,它是C:\ Temp 通常这不是问题,但是由于某种原因,相关用户无权写入C:\ Temp 我仔细检查了环境变量,并且USER环境变量按预期指向C:\ Documents and Settings \ [userid] \ Local Settings \ Temp,而SYSTEM环境变量指向C:\ WINNT \ Temp。 那么...从哪里Path.GetTempPath()获得价值呢?组策略?注册表? 我已经谷歌搜索,但无济于事。

1
为什么LINQ .Where(predicate).First()比.First(predicate)快?
我正在做一些性能测试,发现LINQ表达式像 result = list.First(f => f.Id == i).Property 比慢 result = list.Where(f => f.Id == i).First().Property 这似乎与直觉相反。我以为第一个表达式会更快,因为一旦满足谓词,它就可以停止对列表进行迭代,而我以为该.Where()表达式可以在调用.First()结果子集之前对整个列表进行迭代。即使后者短路,也不应比直接使用First更快。 下面是两个非常简单的单元测试,它们说明了这一点。当在.NET和Silverlight 4上使用TestWhereAndFirst进行优化编译时,其速度大约比TestFirstOnly快30%。我试图使谓词返回更多结果,但是性能差异是相同的。 谁能解释为什么.First(fn)比它慢.Where(fn).First()?与.Count(fn)相比,我看到了类似的反直观结果.Where(fn).Count()。 private const int Range = 50000; private class Simple { public int Id { get; set; } public int Value { get; set; } } [TestMethod()] public void TestFirstOnly() { …
73 c#  .net  performance  linq 

5
IEnumerator的简单用法(带有示例)
我很难记住如何(但不是为什么)IEnumerator在C#中使用s。我已经习惯了Java及其出色的文档,该文档向初学者很好地解释了所有内容。所以,请忍受我。 我曾尝试从这些板上的其他答案中学习,但无济于事。我没有提出一个之前已经问过的通用问题,而是有一个具体的例子可以为我澄清一些事情。 假设我有一个需要传递一个IEnumerable<String>对象的方法。方法所需要做的就是将字母连接roxxors到String迭代器中每个字母的末尾。然后它将返回这个新的迭代器(当然,原始IEnumerable对象将保留原样)。 我将如何处理?当然,除了我之外,这里的答案还应该帮助许多有关这些对象的基本问题。
73 c#  ienumerator 

5
如何异步Files.ReadAllLines并等待结果?
我有以下代码, private void button1_Click(object sender, RoutedEventArgs e) { button1.IsEnabled = false; var s = File.ReadAllLines("Words.txt").ToList(); // my WPF app hangs here // do something with s button1.IsEnabled = true; } Words.txt我将大量单词读入s变量,我正在尝试使用C#5中的asyncandawait关键字,Async CTP Library因此WPF应用程序不会挂起。到目前为止,我有以下代码, private async void button1_Click(object sender, RoutedEventArgs e) { button1.IsEnabled = false; Task<string[]> ws = Task.Factory.FromAsync<string[]>( // What …

5
获取数组中特定项目的索引
我想检索数组的索引,但是我只知道数组中实际值的一部分。 例如,我将一个作者姓名存储在数组中,动态说“ author ='xyz'”。 现在,我想找到包含它的数组项的索引,因为我不知道值部分。 这该怎么做?
73 c#  arrays 

6
通过WPF中的代码隐藏访问资源
我在窗口资源中定义了一个自定义集合,如下所示(在Sketchflow应用中,因此窗口实际上是UserControl): <UserControl.Resources> <ds:MyCollection x:Key="myKey" x:Name="myName" /> </UserControl.Resources> 我希望能够在后面的代码中引用此集合,我希望它可以通过x:Name引用,但是我似乎无法访问它。 我可以使用它获得参考 myRef = (MyCollection) this.FindName("myKey"); 但这似乎有点骇人听闻。这是不好的做法吗?有什么更好的办法?谢谢 :)

11
验证枚举值
我需要验证一个整数才能知道是否为有效的枚举值。 用C#做到这一点的最佳方法是什么?
73 c#  validation  enums 


4
无法将类型'string'隐式转换为'System.Threading.Tasks.Task <string>'
我是异步编程的新手,因此在研究了一些异步示例代码之后,我想到了编写一个简单的异步代码 我创建了一个简单的Winform应用程序,并在Form内编写了以下代码。但是它只是不起作用 private Task&lt;string&gt; methodAsync() { Thread.Sleep(10000); return "Hello"; //Error: Cannot implicitly convert type 'string' to 'System.Threading.Tasks.Task&lt;string&gt;' } private async void button1_Click(object sender, EventArgs e) { string s = await methodAsync(); MessageBox.Show(s); } 有人可以在这里放点光..

3
在C#/。NET中结合路径和文件名的最佳方法是什么?
结合路径和文件名的最佳方法是什么? 也就是说,给定c:\foo和bar.txt,我想c:\foo\bar.txt。 给定c:\foo和..\bar.txt,我想要一个错误或c:\foo\bar.txt(所以我不能Path.Combine()直接使用)。与c:\foo和类似bar/baz.txt,我想要一个错误或c:\foo\baz.txt(不是c:\foo\bar\baz.txt)。 我知道,我可以检查文件名是否不包含“ \”或“ /”,但这足够吗?如果没有,正确的检查方法是什么?
73 c#  .net  path  filenames 

4
检查对象列表是否包含具有特定值的属性
说我有以下代码: class SampleClass { public int Id {get; set;} public int Name {get; set;} } List&lt;SampleClass&gt; myList = new List&lt;SampleClass&gt;(); //list is filled with objects ... string nameToExtract = "test"; 所以我的问题是,我可以使用什么List函数myList仅从具有与我的nameToExtract字符串匹配的Name属性的对象中提取。 如果这个问题确实很简单/很明显,我谨此致歉。
73 c#  .net  list 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.