关于ref方法传递数组值 使用ref方法可以在方法中的更改原有的值,再传递回主函数中。为什么我在方法中没有加入ref关键字,主函数中的数组值也会改变呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private void main(){ string[] strArray = new string[]{"1","2","3"}; doSomething(strArray);}private void doSomething(string[] strArray){ strArray[0]="3";}你是这么搞得不? 没加REF关键字,当你传入的是引用类型的时候,还是会改变的,比如数组 数组是引用类型的,当然是可以的举个例子,List<sting> l = new List<sting>();你在传入的方法中l.add 或者删除,都是执行同一个地址,所以看起来是同步的但是你在方法中l = new List<sting>();你在创建一个list对象,在增加删除,原来的是不会改变的,因为指向已经改变了 运气不好,没加ref,却传了ref 数组也是引用类型,要想不变,可用out关键字 初接触Windows Form,不用MDI,能否实现Web Form中IFRAME的功能 分享 多线程中安全访问窗体控件通用方法 紧急求教,在内存中读取BMP数据的方法(C#) C#的一个简单疑惑 望解答! 一个很简单的问题 求c#监视键盘按键的解决方法 C# 人民币大写 最简单的算法 急救Web开发DataGrid的ItemCommand事件不响应 再问关于全角半角概念,刚才自己的描述不够清楚 请求指点,c# 求解智力题【标题加长!!!!!!!!!!!!!!!!!!!】 Process.Start调试模式可以运行IIS下不能运行,也不报错
private void main()
{
string[] strArray = new string[]{"1","2","3"};
doSomething(strArray);
}private void doSomething(string[] strArray)
{
strArray[0]="3";
}你是这么搞得不?
List<sting> l = new List<sting>();
你在传入的方法中l.add 或者删除,都是执行同一个地址,所以看起来是同步的
但是你在方法中
l = new List<sting>();
你在创建一个list对象,在增加删除,原来的是不会改变的,因为指向已经改变了