C# 我有一个二维数组,如果一行中有3个(或更多)元素相邻,我想返回true,
我的问题是if语句不起作用,我不知道如何解决这个问题,当我运行代码时,总是给我一个行分数,这意味着有三个或更多的元素是相同的,但这是不正确的。 关于这个问题的更多细节 我有一个二维数组,如果一行中有3个(或更多)元素相邻,我想返回true, 问题是: 如果存在,则该方法返回true 一行中有3个(或更多)符号相邻,否则返回false。 要确定“一行中有3行”,请检查所有行(一行一行),并在每一行中记住 “当前糖果”并将计数器设置为1。如果下一个糖果与下一个相同 上一个)然后增加计数器,否则将计数器重置为1和 再次设置“当前糖果”。如果计数器变为3,则可以返回true。 → 检查一行中是否有(>=)3个相邻符号 这是我的方法 我怎样才能改进它C# 我有一个二维数组,如果一行中有3个(或更多)元素相邻,我想返回true,,c#,c#-4.0,facebook-c#-sdk,C#,C# 4.0,Facebook C# Sdk,我的问题是if语句不起作用,我不知道如何解决这个问题,当我运行代码时,总是给我一个行分数,这意味着有三个或更多的元素是相同的,但这是不正确的。 关于这个问题的更多细节 我有一个二维数组,如果一行中有3个(或更多)元素相邻,我想返回true, 问题是: 如果存在,则该方法返回true 一行中有3个(或更多)符号相邻,否则返回false。 要确定“一行中有3行”,请检查所有行(一行一行),并在每一行中记住 “当前糖果”并将计数器设置为1。如果下一个糖果与下一个相同 上一个)然后增加计数器,否则将计数
bool ScoreRowPresent(RegularCandies[,] playingField)
{
for (int i = 0; i < playingField.GetLength(0); i++)
{
int counter = 1;
RegularCandies candies = RegularCandies.JellyBean;
for (int x = 1; x < playingField.GetLength(1); x++)
{
if (candies==playingField[i,0])
{
counter++;
}
else
{
counter = 1;
candies = playingField[i, x];
}
if (counter >= 3)
{
return true;
}
}
}
return false;
}
bool ScoreRowPresent(常规糖果[,]运动场)
{
for(int i=0;i=3)
{
返回true;
}
}
}
返回false;
}
试试这个:
bool ScoreRowPresent(RegularCandies[,] playingField)
{
for (var row = 0; row < playingField.GetLength(0); row++)
{
var candyToCount = playingField[row, 0];
var counter = 1;
for (var column = 1; column < playingField.GetLength(1); column++)
{
if (playingField[row, column] == candyToCount)
{
counter++;
}
else
{
counter = 1;
candyToCount = playingField[row, column];
}
if (counter >= 3)
{
return true;
}
}
}
return false;
}
bool ScoreRowPresent(常规糖果[,]运动场)
{
对于(var row=0;row=3)
{
返回true;
}
}
}
返回false;
}
请让我知道这是否有效。试试这个:
bool ScoreRowPresent(RegularCandies[,] playingField)
{
for (var row = 0; row < playingField.GetLength(0); row++)
{
var candyToCount = playingField[row, 0];
var counter = 1;
for (var column = 1; column < playingField.GetLength(1); column++)
{
if (playingField[row, column] == candyToCount)
{
counter++;
}
else
{
counter = 1;
candyToCount = playingField[row, column];
}
if (counter >= 3)
{
return true;
}
}
}
return false;
}
bool ScoreRowPresent(常规糖果[,]运动场)
{
对于(var row=0;row=3)
{
返回true;
}
}
}
返回false;
}
请让我知道这是否有效。您的代码是否遇到问题,或者您是想继续询问吗?@Xerilo是的,我的代码不起作用,我不知道我在哪里犯了错误。这就是为什么我要共享我的代码,以便有人能帮助我,并告诉我哪里犯了错误!请回答问题并添加有关问题的详细信息。你有例外吗?你有什么意外的行为可以解释吗?@Mayez,你能分享一下RegularCandies声明吗?乍一看,我相信这个链接会对你有所帮助,你的代码遇到问题了吗,还是你想继续问?@Xerilio是的,我的代码不起作用,我不知道我在哪里犯了错误,这就是为什么我要分享我的代码,以便有人能帮助我,告诉我哪里犯了错误!请回答问题并添加有关问题的详细信息。你有例外吗?你是否有一些意想不到的行为可以解释?@Mayez,你能分享一下RegularCandies声明吗?首先,我相信这个链接会帮助你,添加
maxAdjacentCandyCount
的目的是什么<代码>计数器应该足够了:如果(计数器>=3)返回true代码>@Xerilio你说得对!谢谢你提醒我。在本地,当最大相邻列数返回时,我正在尝试一种方法,但我复制了错误的代码(现已修复,答案已更新)。添加maxandjacentcandycount
的目的是什么<代码>计数器
应该足够了:如果(计数器>=3)返回true代码>@Xerilio你说得对!谢谢你提醒我。在本地,当返回最大相邻列数时,我正在尝试一种方法,但我复制了错误的代码(现已修复,答案已更新)。