Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 交错数组,从列表中填充它们<;字符串>;_C#_List_C# 4.0_Jagged Arrays - Fatal编程技术网

C# 交错数组,从列表中填充它们<;字符串>;

C# 交错数组,从列表中填充它们<;字符串>;,c#,list,c#-4.0,jagged-arrays,C#,List,C# 4.0,Jagged Arrays,用户在文本框中输入一系列值: Textbox 1: 10,9,8,7 Textbox 2: 1,2,3,4 然后,我想对这两个字符串进行排序并填充一个列表。一旦分类(已经知道如何做那个部分),我想创建一个锯齿状的输入数组,如下所示: string[][] Arr = new string[2][]; Arr[0] = new string[] { "10", "9", "8", "7" }; Arr[1] = ..... 但是我不想手动输入值,而是想使用上面提到的列表 这可能吗(到目前为

用户在文本框中输入一系列值:

Textbox 1: 10,9,8,7

Textbox 2: 1,2,3,4
然后,我想对这两个字符串进行排序并填充一个
列表
。一旦分类(已经知道如何做那个部分),我想创建一个锯齿状的输入数组,如下所示:

string[][] Arr = new string[2][];

Arr[0] = new string[] { "10", "9", "8", "7" };
Arr[1] = .....
但是我不想手动输入值,而是想使用上面提到的
列表

这可能吗(到目前为止,我的尝试失败得相当惨)?如果没有,有人能提出一种可能的替代方法吗

谢谢你的时间

编辑:根据答案,我成功了。再次抱歉,我没有明确说明我所说的排序是什么意思

List<string> tempString = new List<string>();
tempString.Add("10,9,8,7");
tempString.Add("1,2,3");

string[][] Arr = new string[2][];

for (int x = 0; x < 2; x++)
{
    string[] values = tempString[x].Split(',').ToArray();

    Arr[x] = values;
}
List tempString=new List();
添加(“10,9,8,7”);
添加(“1,2,3”);
字符串[][]Arr=新字符串[2][];
对于(int x=0;x<2;x++)
{
字符串[]值=tempString[x]。拆分(',')。ToArray();
Arr[x]=值;
}

从字符串创建列表:

List<string> list1 = new List<string>(textbox1.Text.Split(','));
List<string> list2 = new List<string>(textbox2.Text.Split(','));
现在,您可以轻松地从列表中创建阵列:

list1.Sort();
list2.Sort();
string[][] Arr = new string[2][];
Arr[0] = list1.ToArray();
Arr[1] = list2.ToArray();

如果要按其他顺序进行,即先排序,然后拆分,则应为:

List<string> list = new List<string>();
list.Add(textbox1.Text);
list.Add(textbox2.Text);
list.Sort();
string[][] Arr = new string[2][];
Arr[0] = list[0].split(',');
Arr[1] = list[1].split(',');
List List=新列表();
list.Add(textbox1.Text);
list.Add(textbox2.Text);
list.Sort();
字符串[][]Arr=新字符串[2][];
Arr[0]=列表[0]。拆分(',');
Arr[1]=列表[1]。拆分(',');

从字符串创建列表:

List<string> list1 = new List<string>(textbox1.Text.Split(','));
List<string> list2 = new List<string>(textbox2.Text.Split(','));
现在,您可以轻松地从列表中创建阵列:

list1.Sort();
list2.Sort();
string[][] Arr = new string[2][];
Arr[0] = list1.ToArray();
Arr[1] = list2.ToArray();

如果要按其他顺序进行,即先排序,然后拆分,则应为:

List<string> list = new List<string>();
list.Add(textbox1.Text);
list.Add(textbox2.Text);
list.Sort();
string[][] Arr = new string[2][];
Arr[0] = list[0].split(',');
Arr[1] = list[1].split(',');
List List=新列表();
list.Add(textbox1.Text);
list.Add(textbox2.Text);
list.Sort();
字符串[][]Arr=新字符串[2][];
Arr[0]=列表[0]。拆分(',');
Arr[1]=列表[1]。拆分(',');
编辑如果需要对列表进行预处理,可以这样做:

var array1 = textbox1.Text.Split(',').OrderBy(x => x).ToArray();
var array2 = textbox2.Text.Split(',').OrderBy(x => x).ToArray();
// extra processing here
string[][] Arr = new string[2][];
Arr[0] = array1;
Arr[1] = array2;
编辑如果需要对列表进行预处理,可以这样做:

var array1 = textbox1.Text.Split(',').OrderBy(x => x).ToArray();
var array2 = textbox2.Text.Split(',').OrderBy(x => x).ToArray();
// extra processing here
string[][] Arr = new string[2][];
Arr[0] = array1;
Arr[1] = array2;
string[]Arr=newstring[]{textBox1.Text,textBox2.Text}//s.Split(','))
.ToArray();
string[]Arr=newstring[]{textBox1.Text,textBox2.Text}//s.Split(','))
.ToArray();


TextBox.GetValue()和String.Split?我不明白你的问题。哪一部分导致了你的问题?解析用户输入的字符串?那么您想为每个文本框创建一个
列表
,然后将每个文本框转换为
字符串
数组,然后将其添加到锯齿数组中吗?我不认为拥有
列表有什么意义,只需将字符串解析为数组,然后将其添加到锯齿数组中即可。但也许我错过了什么,不清楚你想要达到什么。是否希望用户在两个文本框中输入逗号分隔的值,然后合并并排序到单个列表中?不确定锯齿数组的位置…我想要列表,这样我可以确定哪个文本框是数字1,哪个是数字2等等。字符串“10,9,8,7”=1st和“1,2,3,4”=2nd的顺序很重要,但不是其中内容的实际顺序。很抱歉没有特别清楚。textbox.GetValue()还有绳子,分开?我不明白你的问题。哪一部分导致了你的问题?解析用户输入的字符串?那么您想为每个文本框创建一个
列表
,然后将每个文本框转换为
字符串
数组,然后将其添加到锯齿数组中吗?我不认为拥有
列表有什么意义,只需将字符串解析为数组,然后将其添加到锯齿数组中即可。但也许我错过了什么,不清楚你想要达到什么。是否希望用户在两个文本框中输入逗号分隔的值,然后合并并排序到单个列表中?不确定锯齿数组的位置…我想要列表,以便确定哪个文本框是数字1,哪个是数字2等等。字符串“10,9,8,7”=1st和“1,2,3,4”的顺序=2nd很重要,但不是其中内容的实际顺序。很抱歉没有明确说明。它使用文本框中的原始数据,而不是OP已经创建和排序的列表。它使用文本框中的原始数据,而不是OP已经创建和排序的列表。maan!你认为每个人都会得到你想要的吗specified@Sivaraman但是assignment
字符串[][]Arr
的左侧暗示了它产生了什么!你认为每个人都会得到你想要的吗specified@Sivaraman但assignment
string[][]Arr
的左侧暗示了它所产生的结果。我尝试过这个方法,但我一直遇到一个错误,即无法将char[]转换为string。请查看对我原始问题的编辑。@HansRudel:您拥有的不是两个字符串列表,可以对字符串进行排序,您只有一个列表包含文本框中的两个字符串。将单个字符串转换为数组时,将得到一个字符数组。看看我上面添加的代码。是的,我设法让它工作了。我把你的答案和其他两个答案都记为+1,因为我应该更清楚地解释我所说的排序。不过非常感谢您的帮助。我已经尝试过了,但是我一直遇到一个错误,无法将char[]转换为string。请查看对我原始问题的编辑。@HansRudel:您拥有的不是两个字符串列表,可以对字符串进行排序,您只有一个列表包含文本框中的两个字符串。将单个字符串转换为数组时,将得到一个字符数组。看看我上面添加的代码。是的,我设法让它工作了。我把你的答案和其他两个答案都记为+1,因为我应该更清楚地解释我所说的排序。不过非常感谢你的帮助。