C# TryParse的使用尝试转换一个字符串
int.TryParse()的用法
官方定义
// 摘要:
// 将数字的字符串表示形式转换为它的等效 32 位有符号整数。 一个指示转换是否成功的返回值。
//
// 参数:
// s:
// 包含要转换的数字的字符串。
//
// result:
// 当此方法返回时,如果转换成功,则包含与 s 中所包含的数字等效的 32 位无符号整数值;如果转换失败,则包含零。 如果 s 参数为 null 或 System.String.Empty、格式不正确,或者表示的数字小于
// System.Int32.MinValue 或大于 System.Int32.MaxValue,则转换失败。 此参数未经初始化即进行传递;最初在 result
// 中提供的任何值都会被覆盖。
//
// 返回结果:
// 如果 true 成功转换,则为 s;否则为 false。
可以自己写函数IntTryParse实现类似的效果
笔记
个人感觉,用传参达到返回值的目的,这样的操作原理,尤其是out这个词
类似于C++中的引用符号&
另外可以使用ref
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
//输入数字,直到转换失败
string str;
int[] num = new int[100];
int i;
for (i = 0; i < 100; i++)
{
//输入
str = Console.ReadLine();
//转换
bool check;
check = int.TryParse(str, out num[i]);
//异常则退出循环
if (check == false)
{
Console.WriteLine("检测到输入异常值,已退出循环。你的输入如下:");
break;
}
}
//输出
int total = i;
for (int j = 0; j < total; j++)
{
Console.Write("{0} ", num[j]);
}
}
}
}