【发布时间】:2018-05-19 11:49:11
【问题描述】:
我们正在学习如何使用 Stream Reader,但我遇到了一些方法问题,实际上当我尝试获取返回值时它不起作用。
static void FindeMinMaxVerkauf(Verkauf[] arr, out Verkauf min, out Verkauf max)
{
double min2 = 10000;
double max2 = 0;
int min3 = 0;
int max3 = 0;
for (int i = 0; i < arr.Length; i++)
{
if((arr[i].StückPreis * arr[i].Stückzahl) < min2)
{
min2 = arr[i].StückPreis * arr[i].Stückzahl;
min3 = i;
}
if ((arr[i].StückPreis * arr[i].Stückzahl) > max2)
{
max2 = arr[i].StückPreis * arr[i].Stückzahl;
max3 = i;
}
}
min = arr[min3];
max = arr[max3];
}
这就是我试图获取返回值的方式
double min,max;
FindeMinMaxVerkauf(alle, out min, out max);
Console.WriteLine("Verkäufe mit kleinsten Preis " + min + "Verkäufe mit größten Preis" + max );
但它说
CS1503 参数 "3": Konvertierung von "
out double" in "out _61_T_Shirts.Verkauf" nicht möglich.
这意味着从double 转换为Tshirts...不可能。我真的不知道如何解决它。
-
这是我的第二种方法:
static Verkauf FindeHöchsteStückzahl(Verkauf[] arr) { int anz = 0; int pos = 0; for (int i = 0; i < arr.Length; i++) { if(arr[i].Stückzahl > anz) { anz = arr[i].Stückzahl; pos = i; } } return arr[pos]; }
这就是我试图获取返回值的方式:
FindeHöchsteStückzahl(alle);
Console.WriteLine("Höchste Stückzahl: " + alle );
但我得到了 Array 结果:
Höchste Stückzahl: _61_T_Shirts.Verkauf[]
-
我的意思是:
static Verkauf[] FindeVerkäufe(Verkauf[] arr, string farbe) { int j = 0; Verkauf[] finderverk = new Verkauf[10000]; for (int i = 0; i < arr.Length; i++) { if(arr[i].Farbe == farbe) { finderverk[j] = arr[i]; j++; } } Array.Resize(ref finderverk, j); return finderverk; }} }
我需要帮助;D
【问题讨论】:
-
我不知道你可以在 c# 中使用德语字符。:)
-
out Verkauf min不是out double min- 而且您似乎也没有实现implicit转换 -
是的,通常不会,但我们可以:D
-
@UnholySheep 我在这 2-3 种方法之前做过,我使用了相同的方法,但这个我不明白
-
static void FindeMinMaxVerkauf(Verkauf[] arr, out Verkauf min, out Verkauf max)->static void FindeMinMaxVerkauf(Verkauf[] arr, out double min, out double max)。我非常怀疑你用不同的方法做了这个完全相同的代码,它也不会在那里工作。因此,除非您可以提供 minimal reproducible example 来证明这一点,否则这就是您的答案