出于某种原因,当我在这个程序中输出Best时,它会炸掉整数应该是什么。很难理解整数实数是多少!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Safr_Manager
{
class Program
{
static void Main(string[] args)
{
var sortarry = new[] {'4', '6', '4', '7', '8', '3'};
int best = -1;
for(int i = 0; i < 6; i++)
{
var cursel = sortarry[i];
if (cursel > best)
{
best = cursel;
}
Console.WriteLine(cursel);
Console.WriteLine(best);
}
}
}
}
这就是它的输出。您可以看到它如何改变当前最佳部分应该是什么!
Current selected: 4
Current best: 52
Current selected: 6
Current best: 54
Current selected: 4
Current best: 54
Current selected: 7
Current best: 55
Current selected: 8
Current best: 56
Current selected: 3
Current best: 56
答案 0 :(得分:9)
在数字周围使用引号,例如。 &#39; 4&#39;告诉c#它是一个char。如果将其隐式转换为int,则使用该char的ASCII代码(例如52)。要使用整数,请按以下方式设置数组:
var sortarry = new[] {4, 6, 4, 7, 8, 3};
答案 1 :(得分:1)
你正在将int与char进行比较。如果你想比较价值,不是一个好主意。 所以将数组更改为int。
using System;
public class Program
{
public static void Main()
{
var sortarry = new[] {4, 6, 4, 7, 8, 3};
int best = -1;
for(int i = 0; i < 6; i++)
{
var cursel = sortarry[i];
if (cursel > best)
{
best = cursel;
}
Console.WriteLine(cursel);
Console.WriteLine(best);
}
}
}