实际上文章的标题本身就不合理,写这样的标题就意味着没有理解String 和 string.
最早我也有疑惑,现在可以说豁然开朗,写出来和大家分享。
.NET 和C#是不同的, .NET 是一个编程环境, C#是一种编程语言. .NET 支持 C#, VB.NET, C++ 等多种编程语言,为了让这些语言写的东西能够相互调用,一起运行,所以.NET里有 CTS (common type system), CLR
这个概念大家都知道,关键就在这里:
CTS 定义了一系列的数据类型,例如
CTS
System.Byte
System.Int32
System.Single
System.Double
System.String
System.DateTime
System.Object
而C#对CTS的数据类型有一些别名
byte,
int,
float,
double,
string,
n/a
object
所以string 实际上是 System.String
既然是别名, 两者就是完全一样的,没有什么区别
但是在C#编程的时候还是写 string 比较好
引申出来一个问题
System.Object 是 class, System.String, String.Int32,System.DateTime 等都是 Struct, 所以
System.Object 是引用类型, 而其他的都是 值类型
所以 object obj = null; 是可以的, int value = null; 是不合法的
全文完.
分享到:
相关推荐
.NET 3.5 String.cs 源代码
由于.NET对String类型变量的独特管理方式,使用不当,会严重影响程序的性能。本文分几个方面来说:了解String数据的内存分配方式、尽量少使用字串加法运算符、避免使用加法运算符连接不同类型的数据、在循环中使用...
asp.net c# String类添加按字节截取字符串的扩展方法
我们在实际的应用中,字符串比较有着很大的应用,String.Compare()。 这个方法的本质是将整个string拆开,然后比较其中的每个字符。也就是在笔试题中常常遇到的,我最常说的一句话就是:把字符串当成字符数组玩! ...
asp.net String.IsNullOrEmpty 方法
string与StringBuilder的在字符串拼接时执行效率上有差异,这篇文章主要介绍了详解.NET中string与StringBuilder在字符串拼接功能上的比较,感兴趣的小伙伴们可以参考一下
传一个Strin类型生成拼音码数字和符号字母不改变汉字自动转变
JNI开发Java调用C传递int、String、Array类型参数; 详情参考: int类型: (https://blog.csdn.net/niuba123456/article/details/80959892) String类型(https://blog.csdn.net/niuba123456/article/details/80977247);...
String和string区别以及string详解 QQ交流群60168829 欢迎C# ASP.NET 和SQL新手 老手 高手加入 谢谢
在 VB.Net 下读写 Ini 文件。必要的 WinAPI声明如下: Public Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ...
3.vb.net的String数据类型 4.vb.net的Boolean数据类型 5.vb.net的Date数据类型 6.vb.net的Object数据类型 7.vb.net的用户自定义类型 8.vb.net的数组定义 9.vb.net的数组列表 10.vb.net的多维数组 。。。。。...
这函数等价于.NET里String对象的PadLeft和PadRight函数 Function PadLeft(Value,Length,sChar) Dim strText,I strText = String(Length,sChar) strText = strText & Value LeftPad = Right(strText,Length) End...
InStr InStr(string1,string2[, compare]) 返回string1字符串在string2字符串中第一次出现的位置 Split Split(string1,delimiter[, count[, start]]) 将字符串根据delimiter拆分成一维数组,其中delimiter用于标识...
包括SQL,MySQL,EXcel,Oracle,Foxpro等各种格式在.net环境下的读取,包括ODBC和OLEDB两种方式
实现无重复 public static string qu(string lab) { string strResult = string.Empty; for (int intIdx = 0; intIdx < lab.Length; intIdx++) { if (strResult.IndexOf(lab.Substring(intIdx, 1)) < 0)...
在Visual C++.NET的所有编程方式中,我们常常要用到这样的一些基本字符串类型,如BSTR、LPSTR和LPWSTR等。之所以出现类似上述的这些数据类型,是因为不同编程语言之间的数据交换以及对ANSI、Unicode和多字节字符集...
C#上位机基础学习_基于S7.Net实现读取S7-1500PLC中的字符串变量
首先,“null”是C#中(VB.NET为Nothing),表示某个引用对象变量“未引用”任何实体时候的状况(典型症状是如果调用这个变量的某个方法,会抛出NullException之类的异常)。 String.Empty是一个静态的公共变量,...