如何将具有int数组的double转换为ToString重写?
struct SSales
{
private int[] _years;
private double[] _sales;
private Random salesran;
public SSales (int [] yeararr, double[] salesarr)
{
//yeararr = Enumerable.Range(2000, 10).ToArray();
_years = yeararr;
_sales = salesarr;
double max = 50000.00;
double min = 1000.00;
salesran = new Random();
for (int i = 0; i < yeararr.Length; i++)
{
for (int j = 0; j < salesarr.Length; j++)
{
salesarr[j] = Math.Round((salesran.NextDouble() * (max - min) + min), 2);
}
}
}
public override string ToString()
{
string itemstring; //string.join?
return itemstring;
}
嗨!我是一名新的C#学生,我在使用结构时遇到了一些困难。当按下generatebutton时,应该调用结构SSales并为每年生成10个随机销售数字,并使用ToString覆盖将其输入到列表框中,如上图所示。
编辑的toString覆盖应格式化像:
INT []年+ “空的空间” + “$” +双[]的销售。
我必须使用int []和double []。
我知道我应该使用string.Join,但我无法弄清楚如何将两个不同类型的数组组合成一个字符串数组。生成数组工作正常,我测试了它,我需要的只是知道如何使用ToString覆盖。任何帮助,将不胜感激!
编辑2我还应该注意到,我也使用冒泡排序来组织这些后代,这可能会使一些答案复杂化。
private void Sortbutton_Click(object sender, EventArgs e)
{
if (yearradio.Checked)
{
int temp = 0;
for (int i = 0; i < yeararr.Length; i++)
{
for (int j = 0; j < yeararr.Length; j++)
{
if (yeararr[i] < yeararr[j])
{
temp = yeararr[i];
yeararr[i] = yeararr[j];
yeararr[j] = temp;
}
}
}
}
if (salesradio.Checked)
{
double temp2 = 0.0;
for (int i = 0; i < salesarr.Length; i++)
{
for (int j = 0; j < salesarr.Length; j++)
{
if (salesarr[i] > salesarr[j])
{
temp2 = salesarr[i];
salesarr[i] = salesarr[j];
salesarr[j] = temp2;
}
}
}
}
// for (int i = 0; i < yeararr.Length; i++)
// {
// for (int j = 0; j < salesarr.Length; j++)
// {
// listBox1.Items.Add();
// }
// }
}
什么应该是在字符串中,究竟是什么?你在加入什么?另外,请注意'decimal'应该用于货币,而不是'double'。 –
nope,必须是int []和double []。没有ifs或buts。我猜你看不到图像atm? – user7115764
@ user7115764十进制应该总是**用于金钱,请参阅[这里](http://stackoverflow.com/questions/1165761/decimal-vs-double-which-one-应该 - 使用和 - 时) – maccettura