繁体   English   中英

将字符串数组转换为短数组

[英]Converting a string array into a short array

我有一个要由用户输入定义的字符串数组,我需要将字符串数组转换为短数组,以便可以将这些值用于计算。 我需要使用一个数组,因为稍后需要集体引用所有值。 这就是我所拥有的:

string [] calIntake = new string[3];
calIntake [0] = Console.ReadLine ();
calIntake[1] = Console.ReadLine ();
calIntake[2] = Console.ReadLine ();

我努力了:

short[] calIntakeNum = Array.ConvertAll(calIntake.split(','), Short.Parse);

我收到这样的错误消息:“无法从用法中推断出方法'System.Array.ConvertAll(TInput [],System.Converter)'的类型参数。尝试显式指定类型参数。

然后我尝试了:

short[] calIntakeNum = Array.ConvertAll(calIntake.split(','), ne Converter<string, short>(Short.Parse));

和我得到同样的错误。 那么如何将基于用户输入的字符串数组转换为短数组呢?

您可以通过short.Parse方法投影字符串:

short[] calIntakeNum = calIntake.Select(short.Parse).ToArray();

calIntake已经是一个数组,您不需要Split它。 C#中没有类型Short ,没有shortInt16

short[] calIntakeNum = Array.ConvertAll(calIntake, short.Parse);

您尝试的第二个方法失败是因为您尝试在不存在的类上调用方法,并且因为Short.Parse不存在。 从第一个参数中将.split(',')删除为ConvertAll并将Short.Parse更改为short.Parse将解决此问题:

short[] calIntakeNum = Array.ConvertAll(calIntake, new Converter<string, short>(short.Parse));

如果您的程序可行,则可以将数组最初声明为short[] ,然后在Console.ReadLine()上调用short.Parse

short[] shortArray = new short[3];
shortArray[0] = short.Parse(Console.ReadLine());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM