Questions tagged «c#»

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


12
负数的模正在融化我的大脑
我正在尝试修改一个整数以获得数组位置,以便它将循环。i % arrayLength对于正数,这样做很好,但对于负数,一切都会出错。 4 % 3 == 1 3 % 3 == 0 2 % 3 == 2 1 % 3 == 1 0 % 3 == 0 -1 % 3 == -1 -2 % 3 == -2 -3 % 3 == 0 -4 % 3 == -1 所以我需要一个实现 int …
188 c#  math  modulo 

6
为什么要使用HttpClient进行同步连接
我正在建立一个与API交互的类库。我需要调用API并处理XML响应。我可以看到使用HttpClient进行异步连接的好处,但是我正在做的事情纯粹是同步的,所以我看不出使用会有什么明显的好处HttpWebRequest。 如果有人能阐明任何想法,我将不胜感激。为此我不是使用新技术的人。

18
C#测试用户是否具有对文件夹的写权限
我需要在实际尝试之前测试用户是否可以写入文件夹。 我已经实现了以下方法(在C#2.0中),该方法尝试使用Directory.GetAccessControl()方法检索文件夹的安全权限。 private bool hasWriteAccessToFolder(string folderPath) { try { // Attempt to get a list of security permissions from the folder. // This will raise an exception if the path is read only or do not have access to view the permissions. System.Security.AccessControl.DirectorySecurity ds = Directory.GetAccessControl(folderPath); return true; } catch …

15
在.NET中使用后将对象设置为Null / Nothing
完成所有对象后,是否应该将所有对象都设置为null(Nothing在VB.NET中)? 我知道,在.NET中,处置实现IDisposable接口以释放一些资源的对象的任何实例都是至关重要的,尽管该对象在处置后仍然可以是某种东西(因此isDisposed表单中的属性),因此我认为它仍然可以驻留在内存中还是至少有一部分? 我也知道,当一个对象超出范围时,它会被标记为可以进行下一次垃圾收集器的收集(尽管这可能需要一些时间)。 因此,考虑到这一点,将对其进行设置以null加快系统释放内存的速度,因为不必确定它已不在范围之内,并且它们是否会产生不良影响? MSDN文章从不在示例中执行此操作,目前我这样做是因为我看不到危害。但是,我遇到了多种意见,因此任何评论都是有用的。

10
验证字符串在C#中仅包含字母
我有一个输入字符串,我想验证它是否包含: 仅字母或 仅字母和数字或 仅字母,数字或下划线 为了澄清,我在代码中有3种不同的情况,每种情况都要求不同的验证。在C#中最简单的方法是什么?
187 c#  string 

8
如何从ASP.NET Core RC2 Web Api返回HTTP 500?
回到RC1,我会这样做: [HttpPost] public IActionResult Post([FromBody]string something) { try{ // ... } catch(Exception e) { return new HttpStatusCodeResult((int)HttpStatusCode.InternalServerError); } } 在RC2中,不再有HttpStatusCodeResult,并且没有什么可以让我返回500类型的IActionResult。 现在,针对我的要求,该方法是否完全不同?我们不再尝试捕获Controller代码了吗?我们是否只是让框架向API调用者抛出泛型500异常?对于开发,如何查看确切的异常堆栈?

30
ASP.NET 5 MVC:无法连接到Web服务器'IIS Express'
我在做什么: 打开Visual Studio社区2015 文件->新建->项目 在Visual C#下:Web-> ASP.NET Web应用程序 Web应用程序 然后按f5键显示弹出错误“ 无法连接到Web服务器'IIS Express'。 ” 删除applicationhost.config位于中的Documents\IISExpress\config,不会更改错误消息。(和中也有一个IISExpress文件夹。)program filesprogram files (x86) 我注意到的东西,我不知道这是不是一个问题: 找不到参考文件“ lib / jquery-validation / jquery.validate.js”。 我有一个带有rawcap的转储,但在那里没有太多注意。那里有些东西: “ Framework”:{“ FrameworkName”:“ DNXCore,Version = v5.0”,“ FriendlyName”:“ DNX Core 5.0”,“ ShortName”:“ dnxcore50”,“ RedistListPath”:null} 我没有注意到问题,但是我有网络数据,如果可以帮助找出为什么我无法连接到Web服务器。我RST,ACK立刻得到一个信息,所以我猜测端口已关闭,无论此Web服务器是否都未设置。 有关此问题的更多信息:/ trace:error 800700c1错误 我试过了: 删除applicationhost.config(并更改端口号) 以管理员身份运行Visual Studio 删除文档中的IISExpress文件夹(更改错误消息,直到重新安装该文件夹) 开启和关闭ssl,将网址复制到启动框。(注意:我没有使用ssl) 清除所有sfc / …

9
格式化XML字符串以打印友好的XML字符串
我有这样的XML字符串: <?xml version='1.0'?><response><error code='1'> Success</error></response> 一个元素和另一个元素之间没有线条,因此很难阅读。我想要一个格式化上述字符串的函数: <?xml version='1.0'?> <response> <error code='1'> Success</error> </response> 无需自己动手编写格式函数,是否有任何我可以立即使用的.Net库或代码段?
187 c#  xml  formatting 

23
从SqlCommand对象获取生成的SQL语句?
我有以下代码: Using cmd As SqlCommand = Connection.CreateCommand cmd.CommandText = "UPDATE someTable SET Value = @Value" cmd.CommandText &= " WHERE Id = @Id" cmd.Parameters.AddWithValue("@Id", 1234) cmd.Parameters.AddWithValue("@Value", "myValue") cmd.ExecuteNonQuery End Using 我想知道是否有任何方法可以将最终的SQL语句作为字符串获得,该字符串应如下所示: UPDATE someTable SET Value = "myValue" WHERE Id = 1234 如果有人想知道为什么我会这样做: 用于记录(失败)语句 有可能将其复制并粘贴到企业管理器中以进行测试
186 c#  vb.net  ado.net 

12
C#二进制文字
有没有办法用C#编写二进制文字,例如用0x前缀十六进制?0b不起作用。 如果没有,什么是简单的方法?某种字符串转换?
186 c#  syntax  binary 


22
ProcessStartInfo挂在“ WaitForExit”上吗?为什么?
我有以下代码: info = new System.Diagnostics.ProcessStartInfo("TheProgram.exe", String.Join(" ", args)); info.CreateNoWindow = true; info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; info.RedirectStandardOutput = true; info.UseShellExecute = false; System.Diagnostics.Process p = System.Diagnostics.Process.Start(info); p.WaitForExit(); Console.WriteLine(p.StandardOutput.ReadToEnd()); //need the StandardOutput contents 我知道我正在启动的进程的输出大约7MB长。在Windows控制台中运行它可以正常工作。不幸的是,它以编程方式无限期地挂在WaitForExit上。还要注意,对于较小的输出(如3KB),此代码不会挂起。 ProcessStartInfo中的内部StandardOutput是否可能无法缓冲7MB?如果是这样,我应该怎么做呢?如果没有,我在做什么错?


7
在C#中创建一个空文件
在C#/。NET中创建空文件的最简单/规范的方法是什么? 到目前为止,我能找到的最简单的方法是: System.IO.File.WriteAllLines(filename, new string[0]);
186 c#  .net 

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.