[英]Add values to array using “template”
I'm not sure if the title is describing exactly what I want to achieve. 我不确定标题是否恰好描述了我想要实现的目标。 Simply put:
简单的说:
If I have 6 inputs: 如果我有6个输入:
- Input1: String1
输入1:字符串1
- Input2: String1Count
输入2:String1Count
- Input3: String2
输入3:字符串2
- Input4: String2Count
输入4:String2Count
- Input5: String3
输入5:字符串3
- Input6: String3Count
输入6:String3Count
I want to add each string to array, by number of times specified by string's respective count. 我想通过字符串各自的计数指定的次数将每个字符串添加到数组。 When this is done and there are still fields in the array that are empty, to loop the values again and repeat it until the array is full.
完成此操作后,数组中仍然有空字段,请再次循环这些值并重复该操作,直到数组已满为止。
Something like this 像这样
public string str1 = "First String";
public int String1Count = 4;
public string str2 = "Second String";
public int String2Count = 7;
public string str3 = "Third String";
public int String3Count = 5;
int[] arr1 = new int[100];
for (int i = 0; i < arr1.Length; i++)
{
arr1[i] = str1;
arr1[i+1] = str1;
arr1[i+2] = str1;
arr1[i+3] = str1;
arr1[i+4] = str1;
arr1[i+5] = str2;
arr1[i+6] = str2;
arr1[i+7] = str2;
...
arr1[arr1.lenght] = str; //It may be str1, str2 or str3, whichever is next
}
I think at least one more for loop
and some if
statements are needed, but I can't figure it out. 我认为至少还有一个
for loop
和一些if
语句是必需的,但我无法弄清楚。
First you can't assign a string
to an int[]
array. 首先,您不能将
string
分配给int[]
数组。 You have to assing it to an string[]
array. 您必须将其关联到
string[]
数组。 To solve your problem you can use the modulo %
operator: 要解决您的问题,您可以使用模
%
运算符:
string str1 = "First String";
int String1Count = 4;
string str2 = "Second String";
int String2Count = 7;
string str3 = "Third String";
int String3Count = 5;
string[] arr1 = new string[100];
int sum12 = String1Count + String2Count;
int sum123 = String1Count + String2Count + String3Count;
for (int i = 0; i < arr1.Length; i++)
{
if (i % sum123 < String1Count)
arr1[i] = str1;
else if (i % sum123 < sum12)
arr1[i] = str2;
else if (i % sum123 < sum123)
arr1[i] = str3;
}
May be something like: 可能是这样的:
string str1 = "First String";
int String1Count = 4;
string str2 = "Second String";
int String2Count = 7;
string str3 = "Third String";
int String3Count = 5;
var resultList = new List<String>();
resultList.AddRange(Enumerable.Repeat(str1, String1Count));
resultList.AddRange(Enumerable.Repeat(str2, String2Count));
resultList.AddRange(Enumerable.Repeat(str3, String3Count));
string[] resultArray = resultList.ToArray();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.