[英]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
,沒有short
或Int16
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.