日期:2014-05-17  浏览次数:20842 次

如何把textbox里的矩阵内容转换为bool[,] ?
texeBox里有如下内容
00010010
00100010
01001110
00011001

如何读取这些内容并转换为二维数组bool[,]啊?

我先用string s = textBox.Text;
      s.Replace(@"\\r\\n", @"|");
为何替换不掉那些\r\n啊?

------解决方案--------------------
本帖最后由 caozhy 于 2013-01-06 00:21:50 编辑
string s = @"00010010
00100010
01001110
00011001";
int y = s.Split(new string[] { "\r\n" }, StringSplitOptions.None)[0].Length;
int x = s.Split(new string[] { "\r\n" }, StringSplitOptions.None).GetLength(0);
bool[,] data = new bool[x, y];
for (int i = 0; i < x; i++)
    for (int j = 0; i < y; j++)
        data[i, j] = s.Replace("\r\n", "")[i * y + j] == '1' ? true : false;
------解决方案--------------------
string str = @"00010010
00100010
01001110
00011001";
            var ary = Regex.Matches(str, @"([01])+").OfType<Match>().Select(t => t.Groups[1].Captures.OfType<Capture>().Select(tt => tt.Value == "1").ToArray()).ToArray();