C#中的String和string有什么区别?还有ref关键字怎么用?

rt

String 和 string 没有区别 string 是 String 的别名
ref 关键字一般只用于函数参数中,这个参数是 struct 类型,而不是 class 类型
因为 class 类型在函数中引用实例指针,所以函数内部对该参数的操作等于直接操作原实例
而 struct 类型在函数中引用数据复本,只有用指明 ref 关键字,它才会引用指针, int char 等都是 struct

当你有一个 struct 类型做为函数参数,又希望函数可以修改这个参数值,就要用 ref 关键字
functionname(int arg1, ref int arg2)
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-10-14
在C#中,String指的是一个类(颜色是绿的 首字母大写),而string是关键字(蓝色字),他们表示的都是字符串,没有区别。
ref通俗的讲就是传地址,传入的参数若在方法中有变化,那么在调用的地方也会跟着改变
不加此关键字的话,传入的值就是一个复本而已。
第2个回答  2008-10-14
C#中的String和string有什么区别?
C#中这两个没有区别,

ref关键字怎么用?
fun(ref i1);
fun(ref int i2){}

这样在fun函数里更改i2的值,将会影响调用的实参i1
第3个回答  2012-02-23
有区别的,不一样的

参考资料:http://wenku.baidu.com/view/559d02cdda38376baf1faefa.html

第4个回答  2008-10-14
一楼正解

C#中的String和string有什么区别?还有ref关键字怎么用?
String 和 string 没有区别 string 是 String 的别名 ref 关键字一般只用于函数参数中,这个参数是 struct 类型,而不是 class 类型 因为 class 类型在函数中引用实例指针,所以函数内部对该参数的操作等于直接操作原实例 而 struct 类型在函数中引用数据复本,只有用指明 ref 关键字,它才会引用指针, ...

C#中 string 与 ref
string是引用类型,没错,但它的很多操作是与值类型看齐的,所以如果确实要传地址,那就要加ref或out关键字,ref与out的区别在于被传递的变量是否存在物理地址,简单理解是否需要初始化 要说得多的话还涉及到语法糖问题 如果是引用类型,那么声明一个实例应该是 string s=new string();然后再给s赋值,...

C#里传参数 ref关键字的作用是什么?
属性不是变量,不能作为 ref 参数传递。

C# ref string 参数应该填什么?
随便给一个默认值就可以了。一般情况下,string类型的就给个双引号的空就可以了。因为在catch中捕捉到异常后,就会给它赋值,覆盖初始值。所有,ref类型的初始值没有什么意思

c#中ref到底有什么作用.
如果用上ref的话,操作的是同一个变量,所以会改变值,如果没用上ref的话,操作的不是同一个变量,所以值不会改变。这就行了!其他的,以后学得深入了,你就会懂了!现在弄这些问题,只会令你学得很痛苦的!只不过用ref的话,调用的参数要在调用前就要初始化,初始化,你懂吧?就是赋值!

C# 中 string不是引用类型吗 为什么传递参数后 它的值没改变
在C#中,有两种类型:引用类型(如:string)和非引用类型(如:int)。引用类型指向的其实是一个内存地址,String 虽然是引用类型 不过是不可变的 对字符串做一些操作 比如大小写的转换 += 实际上是重新创建了一个字符串 这也是为什么在做大量字符串拼接的时候要使用StringBuilder 而不用+= 如:strin...

c#引用类型的理解
public void Increment( int i ){ i++;} 要想在函数中对传进去的参数做真正的修改,需要借助于ref这个关键字,那么正确的形式如下。public void Increment( ref int i ){ i++;} 也就是说,如果需要在函数中对值类型参数进行修改,需要用ref或者out进行标识才能真正实现。而对于引用类型来说,当...

C#语言中 ref的作用是什么?10分!~
ref 的存在是为了传地址。就是c的指针。所以值参数加上ref就能 在函数中改变原来得值变量。一般的引用变量就是加不加ref都无所谓。但是当调用函数中有new就不一样了。传指针的原理是,你传的是地址,然后在函数里面操作那个地址指向的内容的值,所以修改后,结果保留。但是如果不加ref,传过去的引用...

C#中ref的作用是什么?
ref 是引用传递,课参考C#的两个类型,值类型和引用类型,引用传递和值传递。

C#中 引用参数和输出参数有什么不同?他们以什么方式传递?
没什么太大区别。。一个用关键字REF标示,一个用OUT标示。牵扯到数据是引用类型还是值类型。一般用这两个关键字你是想调用一个函数将某个值类型的数据通过一个函数后进行更改。传OUT定义的参数进去的时候这个参数在函数内部必须初始化。否则是不能进行编译的。ref和out 都是传递数据的地址,正因为传了...

相似回答