【发布时间】:2016-01-31 20:11:01
【问题描述】:
对于一个学习 c# 的学校项目,我正在制作一个数据收集控制台应用程序,它保存 4 个不同位置的浮点条目以及时间/日期以及记录该条目的用户。我需要使用多维结构数组。
我需要一个显示平均值的视图,以及最小值和最大值以及第一个和最后一个日期。我已经通过计算值并累积添加来计算平均值,但我不知道如何找到最小值和最大值。
我尝试搜索并遇到此页面:http://www.dotnetperls.com/max 由于它是一个更复杂的数组,我试图在我的代码中实现这种语法但无济于事。
它在我的整数测试中起作用:
class Program
{
static int[][] intarray = new int[4][] { new int[10], new int[10], new int[10], new int[10] };
static void Main(string[] args)
{
intarray[0][0] = 5;
intarray[0][1] = 3;
intarray[0][2] = 10;
intarray[0][3] = 4;
intarray[0][4] = 2;
Console.WriteLine(intarray[0].Max());
Console.ReadLine();
}
}
上面的代码完美的显示了数字10! :)
但是当我尝试使用结构数组将其实现到我的程序中时,它不起作用:
class Program
{
static byte location = 0;
static float entriesmin;
static float entriesmax;
static Entry[][] entriesarray = new Entry[4][] { new Entry[10], new Entry[10], new Entry[10], new Entry[10] };
struct Entry
{
public float value;
public string user;
public DateTime datetime;
}
static byte LoopEntries(bool display)
{
float runningtotal = 0;
byte entrycount = 0;
foreach (Entry entry in entriesarray[0])
{
if (entry.user != null)
{
if (display)
{
string ten;
if (entrycount == 9)
{
ten = " #";
}
else
{
ten = " #";
}
Console.WriteLine(ten + (entrycount + 1) + " " + entry.datetime + " " + entry.user + new string(' ', 16 - entry.user.Length) + entry.value);
}
runningtotal += entry.value;
entrycount += 1;
}
}
entriesmin = (entriesarray[location]).value.Min();
entriesmax = (entriesarray[location]).value.Max();
if (entrycount == 0 && display)
{
Console.WriteLine("No entries to show!");
}
return entrycount;
}
我需要在星期一提交这个项目!我真的希望有人能帮助我! ;)
【问题讨论】:
标签: c# max visual-studio-2015 minimum