• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何找到字符串数组中特定字符串的位置?

c/c++ 来源:Joe Podmore 3次浏览

是的,这是为了学校工作,但问题是工作的一小部分,我觉得它几乎可以忽略不计。如何找到字符串数组中特定字符串的位置?

总之,我使用了一个字符串数组打印格这样

Random rnd = new Random(); 
for (row = 0; row <= 5; row++) 
{ 
    for (column = 0; column <= 5; column++) 
    { 
     RandomNumber = rnd.Next(1, 13); 
     if (RandomNumber == 3) 
      luckDipBoard[row, column] = "You Win "; 
     else 
      luckDipBoard[row, column] = "You Lose "; 
    } 
} 

//Display board 
for (row = 0; row <= 5; row++) 
{ 
    for (column = 0; column <= 5; column++) 
    { 
     Console.SetCursorPosition(column * 10, row * 2); 

     if (luckDipBoard[row, column] == "You Win ") 
      Console.ForegroundColor = ConsoleColor.Green; 
     else 
      Console.ForegroundColor = ConsoleColor.Red; 

     Console.Write(luckDipBoard[row, column]); 
    } 
} 

它输出网格阵列和颜色相应的变量。不过,我希望能够做的是用户是能够输入的位置,这是我写的:

Console.WriteLine("Input a row"); 
rowChoice = int.Parse(Console.ReadLine()); 
Console.WriteLine("Input a column"); 
columnChoice = int.Parse(Console.ReadLine()); 
Console.Clear(); 

但是,我不知道如何将这些变量纳入在一个位置数组并用这些坐标搜索数组并找出位置内部的内容。例如,如果随机打印的网格和第2列第1行是“You Win”,并且用户输入了第2列第1行,则它会简单地将变量添加到变量中。

如果有人可以指向我的右方向:

  • 使用两个输入值作为位置
  • 搜索阵列和返回位置

    INT TextIndex内的值= Array.FindIndex(luckDipBoard,m => m ==“You Win”);

错误:严重性代码描述项目文件行抑制状态错误CS0411为方法的类型参数“Array.FindIndex(T [],谓词)”不能从使用推断。尝试明确指定类型参数。


===========解决方案如下:

之所以Array.FindIndex不起作用的是,它只能与载体(即string[])的作品 – 但你有一个二维数组(即string[,])。据我所知,没有任何的规则排列的狩猎方法对多维数组工作,所以你有两个选择:

  • 做自己的狩猎通过循环在X/Y尺寸手动
  • 线性阵列,并且处理在 manully(这将意味着有string[],而是和计算通过乘法偏移)

如果你与它相当陌生,第一种方法(遍历X/Y),可能比更容易第二(这将涉及改变一下每行代码)。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)