首页 / C# / 如何从字符串C#初始化字符的二维矩阵
如何从字符串C#初始化字符的二维矩阵
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何从字符串C#初始化字符的二维矩阵,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1397字,纯文字阅读大概需要2分钟。
内容图文
我想在C#中创建一个2D矩阵.
我在C中有以下示例代码
https://www.geeksforgeeks.org/search-a-word-in-a-2d-grid-of-characters/
我想像在C中一样初始化矩阵
int main()
{
char grid[R][C] = {"GEEKSFORGEEKS",
"GEEKSQUIZGEEK",
"IDEQAPRACTICE"
};
patternSearch(grid, "GEEKS");
....
这是我在C#中的代码
List<string> rows = new List<string> {"GEEKSFORGEEKS", "GEEKSQUIZGEEK", "IDEQAPRACTICE"};
char[,] grid = new char[rows.Count, rows[0].Length];
for (int r = 0; r < rows.Count; r++)
{
char[] charArray = rows[r].ToCharArray();
for (int c = 0; c < charArray.Length; c++)
{
grid[r, c] = charArray[c];
}
}
有没有办法像c中那样初始化矩阵?将字符串转换为char数组,还是在c中轻松完成此操作,因为我们可以以不同的方式转换和管理内存?
解决方法:
string不是char [],两者之间没有隐式或显式转换.从字符串中获取字符数组的方法是调用扩展方法Enumerable.ToArray()(字符串实现IEnumerable< char>)或几乎是传统的String.ToCharArray().
考虑到这一点,您正在寻找的语法是:
char[][] grid = { "GEEKSFORGEEKS".ToArray(),
"GEEKSQUIZGEEK".ToArray(),
"IDEQAPRACTICE".ToArray() };
现在,如果您尝试获取char [,],您将遇到一堵砖墙;使用c#语法,您可以执行以下操作:
char[][] grid = { { `G`, `E`, `E`, ... },
{ `G`, `E`, `E`, ... }
{ `I`, `D`, `E`, ... } };
但是,再次,因为字符串文字不是字符的字符,所以编译器将简单地拒绝:
char[][] grid = { { "GEEKSFORGEEKS" },
{ "GEEKSQUIZGEEK" }
{ "IDEQAPRACTICE" } };
而且它只会给您一个编译时错误,通知您字符串不是char.该初始化的实际类型是大小为[3,1]的string [,].
内容总结
以上是互联网集市为您收集整理的如何从字符串C#初始化字符的二维矩阵全部内容,希望文章能够帮你解决如何从字符串C#初始化字符的二维矩阵所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。