C# 如何用“声明锯齿数组”;9HM.A2“;
我需要这样做:C# 如何用“声明锯齿数组”;9HM.A2“;,c#,unity3d,C#,Unity3d,我需要这样做: string[][] anordinaryname = new string[][] { new string[] {""}, new string[] {""}, new string[] {""}, new string[] {""}, }; 这: 我需要它的格式完全像这样,但9在开始和结束。中间出现了问题。有办法吗 我正在为我的学校制定一个时间表,这是为什么呢。这是一个周期,所以我需要用户输入一个输入字段“9HM.A2”,然后转到这个数组
string[][] anordinaryname = new string[][]
{
new string[] {""},
new string[] {""},
new string[] {""},
new string[] {""},
};
这:
我需要它的格式完全像这样,但9在开始和结束。中间出现了问题。有办法吗
我正在为我的学校制定一个时间表,这是为什么呢。这是一个周期,所以我需要用户输入一个输入字段“9HM.A2”,然后转到这个数组来获取信息,因为它是如何在给出的时间表上显示的。这是一个学校项目。你不能简单地拥有这个变量名、句号和故事结尾。让我们访问文档 标识符是指定给类型(类、接口、, 结构、委托或枚举)、成员、变量或命名空间有效 标识符必须遵循以下规则:
- 标识符必须以字母开头,或
- 标识符可以包含Unicode字母字符,十进制数字字符,Unicode连接字符,Unicode 组合字符、或Unicode格式字符
9HM.A2
无效
将
9HM.A2
重命名为\u9hm\ua2
或\u9hma2
(乐趣等级100)不,您不需要这样命名变量。变量名是针对开发人员的,而不是针对最终用户的
如果需要根据字符串查找数据,请使用字典:
var timeTable = new Dictionary<string, string[][]>
{
{
"9HM.A2", new string[][]
{
new string[] {""},
new string[] {""},
new string[] {""},
new string[] {""},
}
},
{
"8XX.Z3", new string[][]
{
new string[] {""},
new string[] {""},
new string[] {""},
new string[] {""},
}
},
}
您应该重新考虑锯齿阵列是否适合您的需要;您可能更愿意创建一个类来保存该数据。欢迎使用堆栈溢出。不,
9HM.A2
根本不是有效的变量名。(数组方面与此无关)你说你需要这个变量名-你能在这里编辑你的问题来解释动机吗?这个要求是不可行的-但是如果你能提供更多关于导致这个要求的原因的信息,我们可能会建议替代方案。感觉他们在这里是一个X-Y问题:为什么你想要它完全是“9HM.A2”?我需要能够得到它,因为用户将输入9HM.A2,然后我需要得到这个数组。因此,除非我把它定为“nineHMdotA2”(目前唯一真正的替代方案),否则我需要这样做。我只需要知道这是否可能是upvote的可能副本,我认为这是最明智的解决方案。(而且我今天的分数已经用完了,所以我也可能用完UpVots)编辑修复了这个问题,有一个向上投票。但是,现在OP的下一个问题是:“从字符串输入“xyz”,如何获取名为“xyz”的变量的内容?”
var timeTable = new Dictionary<string, string[][]>
{
{
"9HM.A2", new string[][]
{
new string[] {""},
new string[] {""},
new string[] {""},
new string[] {""},
}
},
{
"8XX.Z3", new string[][]
{
new string[] {""},
new string[] {""},
new string[] {""},
new string[] {""},
}
},
}
if (timeTable.TryGetValue("9HM.A2", out var userTimeTable))
{
// use userTimeTable
}