相关疑难解决方法(0)

什么是C#Using块,我为什么要使用它?

在C#中使用块的目的是什么?它与局部变量有什么不同?

.net c# syntax using using-statement

257
推荐指数
7
解决办法
27万
查看次数

使用(.....){...}是什么意思

可能的重复:
在c#中使用using语句
什么是C#Using block,为什么要使用它?

只是想知道这意味着什么?我在网上看过很多具有以下语法的教程:

using (SqlCeCommand cmd2 = new SqlCeCommand("SELECT city FROM cities JOIN states ON states.id=cities.state WHERE states.state='" + read.GetString(0) + "'", con))
{
  SqlCeDataReader readCities = cmd2.ExecuteReader();
  while (readCities.Read())
  {
    parent.Nodes.Add(readCities.GetString(0));
  }
}
Run Code Online (Sandbox Code Playgroud)

为什么用它?我尝试搜索Google,但它提供了'using'关键字,用于包含dll和其他文件.

c# idisposable using using-statement

7
推荐指数
1
解决办法
8451
查看次数

什么时候需要file.close()?

我想知道是否有必要Close()在下列情况下打电话(如果没有必要,为什么?)

using (var file = System.IO.File.OpenText(myFilePath))
{
...
}
Run Code Online (Sandbox Code Playgroud)

我认为在以下情况下是必要的

StreamWriter file2 = new System.IO.StreamWriter(myFilePath);
newFileContents.ForEach(file2.WriteLine);
file2.Close();
Run Code Online (Sandbox Code Playgroud)

这是对的吗?

编辑:

我认为我的问题很接近() - 具体,可能是阅读和写作之间的区别....

c# file-io

5
推荐指数
1
解决办法
5745
查看次数

我是否应该在C#中使用try {}或using()?

我是C#的新手,直到我在Depth中找到了C#,直到我发现了C#,在Delphi中有一个try {}语句也在C#中实现.

但是,我看到你们中的一些人提到"使用(){}比尝试{}更好".

这是一个例子:

   //This might throw an exception
   sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
   sock.Connect(ip, port);

   //Try statement
   try
   {
       sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
       sock.Connect(ip, port);
   catch
   {
   }

   //using(){}
   using(sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
   {
          sock.Connect(ip, port);
   }
Run Code Online (Sandbox Code Playgroud)

我的问题:

  1. 如果在"using"语句中发生异常会发生什么?

  2. 什么时候应该使用"使用"而不是"尝试",何时"尝试"使用"使用"?

  3. 什么是"使用"声明的目的?

提前致谢!

c# using try-catch

3
推荐指数
2
解决办法
4614
查看次数

什么时候应该在C#中使用(...){...}?

我看到它用过,我在这里和那里读到它,它与内存管理有关.问题是,您怎么知道何时应该使用它?如果你不使用变量或实例会导致问题,你如何区分?

确切的重复:什么是C#使用块,我为什么要使用它?

c#

1
推荐指数
1
解决办法
367
查看次数

如何用 C# 覆盖二进制文件中的特定字节?

我想覆盖 exe 中的字节。

所以我需要生成一个随机字符串,将其转换,然后将其写入exe。

我需要以这种格式覆盖你在那里看到的 4 个十六进制字符串 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12) 需要破折号,所以这对我来说也是一个问题。

这是第一个字符串的位置。

十六进制转储

属性截图

我完全不知道如何开始这个,我如何用随机字符串以正确的格式覆盖这 4 个字符串(十六进制,所以随机只能是 0123456789abcdef)

任何帮助深表感谢。

c# binary byte overwrite

0
推荐指数
1
解决办法
4064
查看次数

在c#中使用ensure有什么用?

我读了这篇文档,但我仍然感到困惑.

using (Font font1 = new Font("Arial", 10.0f)) 
{
    byte charset = font1.GdiCharSet;
}
Run Code Online (Sandbox Code Playgroud)

在代码中,是否意味着我们引入了一个名为Font类的新实例font1.但是,此实例仅在大括号内存活.在代码中我们可以再次实例化,font1但这将是一个完全不同的实例,因为前一个font1disposed.

它是否正确?那么目的是什么?我们可以重新分配不同的值font1而不处理前一个值?

c# using-statement

-2
推荐指数
1
解决办法
280
查看次数