Questions tagged «c#»

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


8
名称值集合中的foreach KeyValuePair?
我有这个代码: NameValueCollection nv = HttpUtility.ParseQueryString(queryString); foreach (KeyValuePair<String,String> pr in nv) { //process KeyValuePair } 这会编译,但是当我尝试运行它时,会得到一个InvalidCastException。 为什么是这样?为什么我不能使用KeyValuePair遍历NameValueCollection,而应该使用什么呢?
79 c# 

2
“发生了内部错误。” 使用X509Certificate2加载pfx文件时
我正在尝试使用自签名证书(c#): X509Certificate2 cert = new X509Certificate2( Server.MapPath("~/App_Data/myhost.pfx"), "pass"); 在共享的虚拟主机服务器上,出现错误: System.Security.Cryptography.CryptographicException: An internal error occurred. 堆栈跟踪以 System.Security.Cryptography.CryptographicException. ThrowCryptogaphicException(Int32 hr) +33 System.Security.Cryptography.X509Certificates.X509Utils. _LoadCertFromFile(String fileName, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx) +0 System.Security.Cryptography.X509Certificates.X509Certificate. LoadCertificateFromFile(String fileName, Object password, X509KeyStorageFlags keyStorageFlags) +237 System.Security.Cryptography.X509Certificates.X509Certificate2..ctor( String fileName, String password) +131 在我的开发机器上,加载正常。我加载* .pfx而不是* .cer文件的原因是因为我需要私钥访问(cer文件加载确定)。我像这样在我的开发机器上制作了pfx: makecert -r …

12
确定会话变量在C#中为null或为空的最佳方法是什么?
检查ASP.NET C#中是否存在会话变量的最佳方法是什么? 我喜欢将String.IsNullOrEmpty()工程用于字符串,并且想知道是否有类似的方法Session。目前,我所知道的唯一方法是: var session; if (Session["variable"] != null) { session = Session["variable"].ToString(); } else { session = "set this"; Session["variable"] = session; }
79 c#  asp.net  session 

27
如何检查Windows窗体是否已打开,如果已关闭,则将其关闭?
我有一个表格“ fm”,它是一个简单的信息窗口,每10分钟会打开一次(fm.Show();)。 我如何每隔10分钟检查一次“ fm”表单是否打开,如果打开,则将其关闭并再次打开! 现在,总是使用fm创建表单,form fm = new form(); 所以当我尝试检查表单是否打开时,即使以前有一个表单,它也总是false并打开一个新窗口! 我需要有一个为其赋予唯一标识的工具,然后检查是否打开了具有唯一标识的表单! 我不想只更新表单(fm)上的数据,因为我有一个带有按钮的复杂信息。 表单名称是 "UpdateWindow" 谢谢
79 c#  winforms 

7
使用Entity Framework Fluent API一对一的可选关系
我们想使用Entity Framework Code First使用一对一的可选关系。我们有两个实体。 public class PIIUser { public int Id { get; set; } public int? LoyaltyUserDetailId { get; set; } public LoyaltyUserDetail LoyaltyUserDetail { get; set; } } public class LoyaltyUserDetail { public int Id { get; set; } public double? AvailablePoints { get; set; } public int …

3
为什么不能识别“异步无效”单元测试?
async void 单元测试不能在Visual Studio 2012中运行: [TestClass] public class MyTestClass { [TestMethod] public async void InvisibleMyTestMethod() { await Task.Delay(1000); Assert.IsTrue(true); } } 如果要进行异步单元测试,则测试方法必须返回Task: [TestMethod] public async Task VisibleMyTestMethod() { await Task.Delay(1000); Assert.IsTrue(true); } 为什么会这样呢?并不是说我绝对需要一种async void测试方法,我只是很好奇。async void即使无法运行,Visual Studio 2012在构建测试方法时也不会发出警告或错误。

7
C#中的“常量正确性”
const正确性的重点是能够提供用户无法更改或删除的实例的视图。编译器通过指出何时从const函数中破坏constness或尝试使用const对象的非const函数来支持此功能。因此,无需复制const方法,是否可以在C#中使用具有相同目的的方法? 我知道不变性,但这并没有真正延续到容器对象上,仅举一个例子。

7
String.Format-它如何工作以及如何实现自定义格式字符串
有了String.Format()它,可以例如格式化DateTime对象在许多不同的方式。每次寻找所需格式时,都需要在Internet上进行搜索。我几乎总是找到可以使用的示例。例如: String.Format("{0:MM/dd/yyyy}", DateTime.Now); // "09/05/2012" 但是我不知道它如何工作以及哪些类支持这些“魔术”附加字符串。 所以我的问题是: 如何String.Format将附加信息映射MM/dd/yyyy到字符串结果? 所有Microsoft对象都支持此功能吗? 这是否记录在某处? 是否可以做这样的事情: String.Format("{0:MyCustomFormat}", new MyOwnClass())


5
Visual Studio项目中的NuGet.Config文件在哪里?
我想知道Visual Studio 2017项目中的NuGet.Config文件在哪里?我试图在项目的根目录中创建自己的NuGet.Config文件,但没有找到任何新的存储库(NuGet源)。有人有什么主意吗? 这是我要为.Net Core项目获取的文件: <?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="AspNetCore" value="https://dotnet.myget.org/F/aspnetcore-ci-dev/api/v3/index.json" /> <add key="AspNetCoreTools" value="https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json" /> <add key="NuGet" value="https://api.nuget.org/v3/index.json" /> </packageSources> </configuration>

8
为什么Contains()运算符会如此大幅度降低Entity Framework的性能?
更新3:根据此公告,EF团队已在EF6 alpha 2中解决了此问题。 更新2:我已经提出了解决此问题的建议。要投票,请转到此处。 考虑一个带有一个非常简单的表的SQL数据库。 CREATE TABLE Main (Id INT PRIMARY KEY) 我用10,000条记录填充表。 WITH Numbers AS ( SELECT 1 AS Id UNION ALL SELECT Id + 1 AS Id FROM Numbers WHERE Id <= 10000 ) INSERT Main (Id) SELECT Id FROM Numbers OPTION (MAXRECURSION 0) 我为该表构建EF模型,并在LINQPad中运行以下查询(我使用的是“ C#语句”模式,因此LINQPad不会自动创建转储)。 var rows …

1
什么会导致P / Invoke参数传递时混乱?
这是专门在ARM而不是x86或x64上发生的问题。我有一个用户报告此问题,并能够通过Windows IoT在Raspberry Pi 2上使用UWP再现它。我以前用不匹配的调用约定已经看到过这种问题,但是我在P / Invoke声明中指定了Cdecl,我尝试在本机端显式添加__cdecl并获得相同的结果。这里是一些信息: P /调用声明(参考): [DllImport(Constants.DllName, CallingConvention = CallingConvention.Cdecl)] public static extern FLSliceResult FLEncoder_Finish(FLEncoder* encoder, FLError* outError); C#结构(参考): internal unsafe partial struct FLSliceResult { public void* buf; private UIntPtr _size; public ulong size { get { return _size.ToUInt64(); } set { _size = (UIntPtr)value; } } } …
79 c#  windows  uwp  arm  pinvoke 



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.