不理解为什么c#的int.tryparse(string s,out int n)方法第二个参数一定要使用out类型

具体说还是不明白什么时候用ref,什么时候用out,什么时候都不用。

ref是传递参数的地址,是为了把方法外的值传入到方法内使用。
out是返回值,是为了方法内的值传到方法外使用。
所以使用ref前必须对变量赋值,out不用。

如果这里使用ref,那你就要保证参数n已经被赋值。
显然,这是不行的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-02-02
如果函数有多个返回值,就用out和ref。
ref需要先赋值,out不用。
区别在:
private void AAA(ref int i,out int o)
{
//out参数的值传进来被清空。
//此时 i = 2, o = 0
i++;
o++;
}
int i = 2;
int o = 2;
AAA(ref i,out o);
// i = 3
// o = 1;
第2个回答  2013-02-02
ref方法内可以修改值,out不可以追问

不理解,那如果这里不使用out会怎么样?

不理解为什么c#的int.tryparse(string s,out int n)方法第二个参数一定...
ref是传递参数的地址,是为了把方法外的值传入到方法内使用。out是返回值,是为了方法内的值传到方法外使用。所以使用ref前必须对变量赋值,out不用。如果这里使用ref,那你就要保证参数n已经被赋值。显然,这是不行的。

int32.TryParse(string a,out int b)他的第二个参数有什么作用?
是C#里面的吧,前面加了out说明它是作为返回的,也就是说把a试着转化为int值,如果成功就放在b里面返回。

C#中的int.TryParse怎么用?
out是用于修饰方法调用的参数的。你可以想成方法会给这个参数设置值。因此你肯定要定义一个变量来接收这个值。int i = 0;\/\/定义接受值的变量 int.TryParse("123",out i);str也不一定要是整数的字符串。这个方法在遇到不能转换的值时会返回false,不会抛出异常。楼主遇到这种问题,你最好用reflector...

C#中的int.TryParse怎么用?
int.Parse()是一种类容转换;表示将数字内容的字符串转为int类型。如果字符串为空,则抛出ArgumentNullException异常;如果字符串内容不是数字,则抛出FormatException异常;如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常;int.TryParse 与 int.Parse 又较为类似,但它不会产...

怎么理解c#中int.Parse()?
请先给出明确答复:对的 如果不清楚的话,将鼠标放到Parse()上,右击选择转到定义,可以查看解释 也可以使用int.TryParse()

C# :int.parse(null)解释
int.Parse("123")此方法可以把字符串转为数字,只能放字符串,如果转不了会报错。如果传null铁定报错。int num;int.TryParse("123",out num)此方法在无法转换的时候也不会报错,但它返回bool值,用out num来接收转换后的值 Convert.ToInt32()讲其他类型转为int,这里不仅仅可以放字符串,放时间...

C#中out,到底怎么用?
前面定义 int num 所以num只能存int数据 有以为num是被out修饰的,它不是传入的参量,一个传出返回值

你确认C#中TryParse比Parse好?动手测试才知道!
若需获取实际返回值,应使用out参数。并非所有类型都应使用TryParse模式。仅在Do方法明显影响性能时,考虑使用TryParse。建议不要为所有类型都提供此模式。总结,TryParse与Parse在处理字符串转换时,功能与效率存在差异。正确选择方法可优化代码性能。未来文章将讨论如何确保值类型可为null的建议。

c#中判断字符串是不是数字或字母的方法
int.TryParse(string str, out int outData)方法,如果返回成功说明是数字,否则就是字符串

c# 运算的时候输入字符串的格式不正确
最好用 int.tryparse( string l_str,out a) 这种方法 给你举个例子:int l_int = 0;string l_strparseNum = TxT_Name.Text.ToString();if (int.TryParse(l_strparseNum, out l_int)){ \/\/如果转换成功 l_int 就是你转换出来的数 } else { \/\/ 如果没转换成功 就是格式不对 返回 ...

相似回答