C# Can';t使用C运行两行三列字符串数组#

C# Can';t使用C运行两行三列字符串数组#,c#,C#,我的密码在这里。但我有两个错误。数组初始值设定项只能在变量或字段初始值设定项中使用。尝试改用新表达式 using System; public class twoDimArray { public static void Main(string[] args) { String[] city=new String[] { {"NewYork","Muscat","London"} ,{"Cairo","Beijing","CapeTown"} }; for (int i=0

我的密码在这里。但我有两个错误。数组初始值设定项只能在变量或字段初始值设定项中使用。尝试改用新表达式

using System;

public class twoDimArray
{
 public static void Main(string[] args)
{
   String[] city=new String[] { {"NewYork","Muscat","London"} ,{"Cairo","Beijing","CapeTown"}  };

    for (int i=0; i<2; i++)
    {for (int j=0; j<3; j++)

   {
      System.Console.Write(city[i][j]+"\t");
  }
      System.Console.Write("\n");
  }
 }
}
使用系统;
公共类twoDimArray
{
公共静态void Main(字符串[]args)
{
字符串[]城市=新字符串[]{{“纽约”、“马斯喀特”、“伦敦”}、{“开罗”、“北京”、“开普敦”};
对于(int i=0;i请尝试以下方法:

String[] city=new String[] { "NewYork","Muscat","London","Cairo","Beijing","CapeTown"  };
而不是:

String[] city=new String[] { {"NewYork","Muscat","London"} ,{"Cairo","Beijing","CapeTown"}  };
第二个是错误的,因为您正在一个数组中初始化另外两个数组

var city=new List<String[]> {new [] {"NewYork","Muscat","London"} , new []{"Cairo","Beijing","CapeTown"}};

String[]city=new String[]
是一维数组


使用字符串[,]city=新字符串[,]()

将声明更改为

String[,] city = new String[,] { 
                     { "NewYork", "Muscat", "London" }, 
                     { "Cairo", "Beijing", "CapeTown" } };
这比硬编码上界要好得多

for (int i = 0; i < city.GetLength(0); i++)
{
    for (int j = 0; j < city.GetLength(1); j++)
    {
        Console.Write(city[i, j] + "\t");
    }
    Console.WriteLine();
}
for(int i=0;i
试试这个

String[,] city=new String[,] { {"NewYork","Muscat","London"} ,{"Cairo","Beijing","CapeTown"}  };

好的,这取决于你想要实现什么。如果是二维数组,你应该使用:

String[,] city = new String[,]{ { "NewYork", "Muscat", "London" }, { "Cairo", "Beijing", "CapeTown" } };
然后调用,例如,它如下所示:

System.Console.Write(city[0, 1]);
虽然使用

   string[,] = new string...
可以很好地工作,如果您需要序列化它,我不推荐它。我宁愿使用字符串列表

 List<object> firstLevel = new List<object>();
 List<string> secondLevel = new List<string>("first", "second", "third");
 firstLevel.Add(secondLevel);
 secondLevel = ("first", "second", "third");
 firstLevel.Add(secondLevel);
List firstLevel=新列表();
列表二级=新列表(“第一”、“第二”、“第三”);
第一级。添加(第二级);
第二级=(“第一级”、“第二级”、“第三级”);
第一级。添加(第二级);

这其中有什么错误
 List<object> firstLevel = new List<object>();
 List<string> secondLevel = new List<string>("first", "second", "third");
 firstLevel.Add(secondLevel);
 secondLevel = ("first", "second", "third");
 firstLevel.Add(secondLevel);