我是所有这些编程惨败的新手,我想知道是否有任何方法可以实现我的标题所暗示的目标?
我有一个名为“LoyaltyNumber”的整数数组 - int [] LoyaltyNumber = new int [8]
此数组用于验证折扣代码。
我有一个名为“NumberBoxInput”的字符串,它由用户通过文本框输入的数字组成。 - NumberBoxInput = NumberBox.Text
我想知道是否有办法将整个数字放入文本框,然后将文本框中的每个数字放入LoyaltyNumber数组的每个单独元素中(例如.LoyaltyNumber [0] =输入的第一个数字文本框)
EG。如果文本框中的用户输入是数字:46764833 我怎么能认为LoyaltyNumber [0] = 4,LoyaltyNumber [1] = 6,LoyaltyNumber [2] = 7等等?
答案 0 :(得分:0)
正如您在提及用户输入时提到的那样
如果用户输入文本框中的数字是:46764833
然后尝试按照
String inputSample = "46764833";
var chars = inputSample.ToCharArray().Select(c => c.ToString()).ToArray();
int[] intLoyaltyNumber2 = Array.ConvertAll(chars, int.Parse);
for (int ctr = 0; ctr < chars.Length; ctr++)
Console.WriteLine("{0}: {1}", ctr, chars[ctr]);
答案 1 :(得分:0)
我会使用string.Split()
方法将字符串的元素放入对象中,然后使用for
循环将每个元素分配给数组。
示例:
//intialize recipient array
int[] numArray = new int[5];
//test string
string nums = "1,2,3,4,5";
//assign each number to its respective element in the 'numList' array, using the ','
//as a separator
string[] numList = nums.Split(',');
//assign each 'numList' element to the recipient array using a 'for' loop
for (int i = 0; i < numArray.Length; i++)
{
//Convert.ToInt32 converts the strings to integers so they can
//be loaded into the recipient array
numArray[i]=Convert.ToInt32(numList[i]);
}
请记住,您需要在文本框中分隔您的数字(可以是逗号或空格或任何内容)。
您还需要确保您的阵列足够大,以容纳用户想要提供的所有数字。
答案 2 :(得分:0)
您可以使用char[] string.ToCharArray()
函数,然后像这样转换为int:
string input = "123456789";
char[] numbersArray = input.ToCharArray();
Console.WriteLine(numbersArray);
//convert to ints ...
或者使用Char.IsDigit(char)
进行验证,如下所示:
string input = "123456789";
int[] numbersArray = new int[numbers.Length];
for (int i = 0; i < numbers.Length; i++)
{
if (Char.IsDigit(numbers[i]))
numbersArray[i] = Int32.Parse(numbers[i].ToString());
Console.Write(numbersArray[i]);
}
答案 3 :(得分:0)
试试这个,它是一个单行:
String inputSample = "46764833";
int[] sampleArray = Array.ConvertAll<char, int>(inputSample.ToCharArray().Where(c => Char.IsDigit(c)).ToArray(), System.Convert.ToInt32);