相关疑难解决方法(0)

x64上的sizeof(int)?

当我sizeof(int)在C#.NET项目中执行时,返回值为4.我将项目类型设置为x64,那为什么它会说4而不是8?这是因为我正在运行托管代码吗?

c# clr 64-bit sizeof

44
推荐指数
6
解决办法
3万
查看次数

字符串与字符串

可能重复:
在C#中,String和string之间有什么区别

我应该使用stringStringc#中声明一个基本的字符串变量,这有关系吗?

c# string

34
推荐指数
3
解决办法
1万
查看次数

字符串与字符串

在C#中有String对象和string对象.

两者有什么区别?有关使用哪种方法的最佳做法是什么?

.net c# string declaration

29
推荐指数
3
解决办法
3460
查看次数

在C#中,大小写字符串/字符串之间有什么区别?

这里的新手,在C#中大小写字符串/字符串有什么区别?

c# string difference

21
推荐指数
3
解决办法
4669
查看次数

String.IsNullOrEmpty或string.IsNullOrEmpty

我一直在查看过去3天的代码,原始开发人员使用String类而不是字符串类来定义字符串.因此,当他们使用IsNullOrEmpty方法时,它定义了String.IsNullOrEmpty.

我想知道的是编译器处理String.IsNullOrEmptystring.IsNullOrEmpty相比如何?

使用String.IsNullOrEmptystring.IsNullOrEmpty有什么优势吗?

.net c# compiler-construction

15
推荐指数
2
解决办法
6398
查看次数

C#字符串和字符串.为什么Visual Studio对它们的处理方式不同?

如果我使用正常的主入口点创建一个普通的控制台应用程序,如下所示

using System;

namespace ConsoleApp
{
    public class Program
    {
        public static void Main(string[] args)
        {
            // do stuff
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在visual studio中选择它一切都很好..

在此输入图像描述

但是,如果我按如下方式编写代码......

using System;

namespace ConsoleApp
{
    public class Program
    {
        public static void Main(String[] args)
        {
            // note the capital S in String
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

那一切都不好......

在此输入图像描述

有谁知道为什么它没有拿起String []但是对字符串[]感到满意吗?

编辑:从评论中提取,它似乎是Visual Studio 2012和2013中的一个错误.据推测,它也出现在早期版本中,但似乎已在VS2015中得到纠正.这本身并不是问题,并且如前所述,代码仍然使用string []或String []进行编译和执行.我有兴趣知道VS中的bug的原因.我想是属性编辑器窗口不是Using System;

c# visual-studio

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

在C#中Int64和long有什么区别?

在C#中,Int64和long有什么区别?

例:

long x = 123;
Int64 x = 123;
Run Code Online (Sandbox Code Playgroud)

c# long-integer

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

char和Char有什么区别?

可能重复:
String和string之间有什么区别

当我跑:

char c1 = 'a';
Console.WriteLine(c1);
Run Code Online (Sandbox Code Playgroud)

当我跑:

Char c2 = 'a';
Console.WriteLine(c2);
Run Code Online (Sandbox Code Playgroud)

我得到了完全相同的结果a.

我想知道这两种形式有什么区别,为什么有两种形式?

.net c# char

14
推荐指数
2
解决办法
5615
查看次数

System.String的内部

我使用反射来查看System.String的内部字段,我找到了三个字段:

m_arrayLength

m_stringLength

m_firstChar
Run Code Online (Sandbox Code Playgroud)

我不明白这是如何工作的.

m_arrayLength是某个数组的长度.这个阵列在哪里?它显然不是字符串类的成员字段.

m_stringLength很有意义.这是字符串的长度.

m_firstChar是字符串中的第一个字符.

所以我的问题是字符串的其余字符在哪里?如果不在字符串类中,则存储字符串的内容在哪里?

c# string reflection

13
推荐指数
2
解决办法
2198
查看次数

为什么要在系统命名空间中使用C#预定义类型而不是别名

在Juides Lowy的"C#编码标准"中,可以从www.idesign.net获得,推荐使用C#预定义类型而不是System命名空间中的别名.

object NOT Object
string NOT String
int NOT Int32
Run Code Online (Sandbox Code Playgroud)

这有什么好处?他们有什么不同?我在自己的编码中遵循了这个建议,但从未知道它们有何不同.

c#

13
推荐指数
4
解决办法
3467
查看次数