Questions tagged «c#»

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


14
如何检查对象是否可为空?
如何检查给定对象是否可为空,换句话说,如何实现以下方法... bool IsNullableValueType(object o) { ... } 编辑:我正在寻找可为空的值类型。我没有想到ref类型。 //Note: This is just a sample. The code has been simplified //to fit in a post. public class BoolContainer { bool? myBool = true; } var bc = new BoolContainer(); const BindingFlags bindingFlags = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance ; object obj; …
202 c#  .net  nullable 


20
ComboBox:向项目添加文本和值(无绑定源)
在C#WinApp中,如何将文本和值同时添加到ComboBox的项目中?我进行了搜索,通常的答案是使用“绑定到源”。但是,在我的情况下,我的程序中没有准备好的绑定源...我该怎么做: combo1.Item[1] = "DisplayText"; combo1.Item[1].Value = "useful Value"
202 c#  winforms  combobox 

16
LINQ-完全外部联接
我有一个人的ID和他们的姓氏列表,以及一个人的ID和他们的姓氏列表。有些人没有名字,有些人没有姓;我想在两个列表上进行完全外部联接。 因此,以下列表: ID FirstName -- --------- 1 John 2 Sue ID LastName -- -------- 1 Doe 3 Smith 应产生: ID FirstName LastName -- --------- -------- 1 John Doe 2 Sue 3 Smith 我是LINQ的新手(如果我很la脚,请原谅我),并且已经找到了许多解决方案,这些解决方案看起来都非常相似,但实际上似乎是外部联接,而对于“ LINQ外部联接”。 到目前为止,我的尝试是这样的: private void OuterJoinTest() { List<FirstName> firstNames = new List<FirstName>(); firstNames.Add(new FirstName { ID = 1, …

6
如果目录不存在,该如何创建目录?
如果目录不存在,我这里有一段代码会中断: System.IO.File.WriteAllText(filePath, content); 在一行(或几行)中,是否可以检查导致新文件的目录是否不存在,如果不存在,请在创建新文件之前创建该目录? 我正在使用.NET 3.5。
202 c#  .net  file-io 

15
如何使用try catch进行异常处理是最佳实践
在维护甚至声称自己是高级开发人员的同事的代码的同时,我经常看到以下代码: try { //do something } catch { //Do nothing } 或者有时他们将日志记录信息写入日志文件,例如以下代码try catch块 try { //do some work } catch(Exception exception) { WriteException2LogFile(exception); } 我只是想知道他们所做的是最佳做法吗?这让我感到困惑,因为在我的思考中,用户应该知道系统会发生什么。 请给我一些建议。

10
枚举上最常见的C#按位运算
为了我的一生,我不记得如何在位域中进行设置,删除,切换或测试。我不确定还是将它们混在一起,因为我很少需要这些。因此,拥有一个“位备忘单”将是不错的选择。 例如: flags = flags | FlagsEnum.Bit4; // Set bit 4. 要么 if ((flags & FlagsEnum.Bit4)) == FlagsEnum.Bit4) // Is there a less verbose way? 您能否给出所有其他常见操作的示例,最好使用[Flags]枚举以C#语法显示?

20
为什么最终尝试{…} {…}好?尝试{…}抓住{}不好吗?
我见过有人说使用不带参数的catch是一种不好的形式,尤其是在该catch没有执行任何操作的情况下: StreamReader reader=new StreamReader("myfile.txt"); try { int i = 5 / 0; } catch // No args, so it will catch any exception {} reader.Close(); 但是,这被认为是很好的形式: StreamReader reader=new StreamReader("myfile.txt"); try { int i = 5 / 0; } finally // Will execute despite any exception { reader.Close(); } 据我所知,将清理代码放入finally块与将清理代码放入try..catch块之后的唯一区别是,如果您在try块中包含return语句(在这种情况下,最终的清理代码将运行,但是try..catch之后的代码不会)。 否则,最后有什么特别之处?

24
外部VS2013生成错误“错误MSB4019:找不到导入的项目<路径>”
我正在通过命令行而不是在Visual Studio 2013中构建项目。请注意,我已将项目从Visual Studio 2012升级到2013。该项目在IDE中的构建良好。另外,我首先完全卸载了VS2012,重新启动并安装了VS2013。我拥有的Visual Studio的唯一版本是2013 Ultimate。 ValidateProjects: 39&gt;path_to_project.csproj(245,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the &lt;Import&gt; declaration is correct, and that the file exists on disk. 39&gt;Done Building Project "path_to_project.csproj" (Clean target(s)) -- FAILED. 这是有问题的两行: &lt;Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != …


3
在什么情况下SqlConnection会自动加入环境TransactionScope事务中?
SqlConnection在事务中被“征募”是什么意思?这是否仅表示我在连接上执行的命令将参与事务? 如果是这样,在什么情况下SqlConnection会自动加入环境TransactionScope事务中? 查看代码注释中的问题。我对每个问题答案的猜测都跟在括号中的每个问题之后。 方案1:在事务范围内打开连接 using (TransactionScope scope = new TransactionScope()) using (SqlConnection conn = ConnectToDB()) { // Q1: Is connection automatically enlisted in transaction? (Yes?) // // Q2: If I open (and run commands on) a second connection now, // with an identical connection string, // what, if any, is …

7
在C#中解析JSON
我正在尝试从Google AJAX搜索API解析一些JSON数据。我有这个网址,我想将其分解,以便显示结果。我目前已经编写了这段代码,但是尽管接下来有很多使用简化的JSON字符串的示例,但是我对于下一步的工作还是很迷茫。 一般来说,对于C#和.NET还是陌生的,我一直在努力为ASP.NET页面获取真正的文本输出,因此建议我尝试一下JSON.NET。有人能为我指出正确的方向,只是简单地编写一些代码,这些代码将从Google AJAX Search API中以JSON格式输入并输出到屏幕上吗? 编辑:全部修复!所有结果都很好。再次感谢Dreas Grech! using System; using System.Data; using System.Configuration; 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; using System.ServiceModel.Web; using System.Runtime.Serialization; using System.Runtime.Serialization.Json; using System.IO; using System.Text; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { …
201 c#  asp.net  json  parsing  json.net 

7
将文件路径转换为文件URI?
.NET Framework是否具有将路径(例如"C:\whatever.txt")转换为文件URI(例如"file:///C:/whatever.txt")的任何方法? System.Uri类具有相反的含义(从文件URI到绝对路径),但据我所知,对于转换为文件URI而言一无所获。 此外,这不是 ASP.NET应用程序。
201 c#  .net  path  uri 

16
密码屏蔽控制台应用程序
我尝试了以下代码... string pass = ""; Console.Write("Enter your password: "); ConsoleKeyInfo key; do { key = Console.ReadKey(true); // Backspace Should Not Work if (key.Key != ConsoleKey.Backspace) { pass += key.KeyChar; Console.Write("*"); } else { Console.Write("\b"); } } // Stops Receving Keys Once Enter is Pressed while (key.Key != ConsoleKey.Enter); Console.WriteLine(); Console.WriteLine("The …

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.