簡體   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