Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 打印对象数组 class-Bil { 公共字符串注册表 { 获取{return regnr;} 设置{regnr=value;} } 公共字符串梅尔克 { 获取{return maerke;} 集合{maerke=value;} } 公共国际旅行社 { 获取{return vaegt;} 设置{vaegt=value;} } 公共图书馆 { 获取{return traek;} 设置{traek=value;} } 公共Bil(字符串注册、字符串maerke、int vaegt、bool traek) { this.regnr=regnr; this.maerke=maerke; this.vaegt=vaegt; this.traek=traek; } 公共双人停车场(内华特、布尔特莱克) { this.vaegt=vaegt; this.traek=traek; 双statsAfgift=0; 如果(vaegt 800) statsAfgift=800*50+75*vaegt-800; 如果(traek==true) statsAfgift=statsAfgift+200; 返回statsAfgift; } } Bil Honda=新Bil(“225689”,“本田”,500,真实); Console.WriteLine(“Statsafgiften påbilen er afsat til:{0:C}”,Honda.StatsAfgift(500,true)); Bil雪铁龙=新的Bil(“985632”,“雪铁龙”,400,假); Bil标致=新的Bil(“125697”,“标致”,650,真实); Bil[]bilSamling=新Bil[3]; bilSamling[0]=本田; bilSamling[1]=雪铁龙; 比尔萨姆林[2]=标致; foreach(Bil b位于Bil Samling) { Console.WriteLine(“Statsafgift påer{1}”,b.maerke,b.Statsafgift(b.vaegt,b.traek)) }_C#_Arrays_Object - Fatal编程技术网

C# 打印对象数组 class-Bil { 公共字符串注册表 { 获取{return regnr;} 设置{regnr=value;} } 公共字符串梅尔克 { 获取{return maerke;} 集合{maerke=value;} } 公共国际旅行社 { 获取{return vaegt;} 设置{vaegt=value;} } 公共图书馆 { 获取{return traek;} 设置{traek=value;} } 公共Bil(字符串注册、字符串maerke、int vaegt、bool traek) { this.regnr=regnr; this.maerke=maerke; this.vaegt=vaegt; this.traek=traek; } 公共双人停车场(内华特、布尔特莱克) { this.vaegt=vaegt; this.traek=traek; 双statsAfgift=0; 如果(vaegt 800) statsAfgift=800*50+75*vaegt-800; 如果(traek==true) statsAfgift=statsAfgift+200; 返回statsAfgift; } } Bil Honda=新Bil(“225689”,“本田”,500,真实); Console.WriteLine(“Statsafgiften påbilen er afsat til:{0:C}”,Honda.StatsAfgift(500,true)); Bil雪铁龙=新的Bil(“985632”,“雪铁龙”,400,假); Bil标致=新的Bil(“125697”,“标致”,650,真实); Bil[]bilSamling=新Bil[3]; bilSamling[0]=本田; bilSamling[1]=雪铁龙; 比尔萨姆林[2]=标致; foreach(Bil b位于Bil Samling) { Console.WriteLine(“Statsafgift påer{1}”,b.maerke,b.Statsafgift(b.vaegt,b.traek)) }

C# 打印对象数组 class-Bil { 公共字符串注册表 { 获取{return regnr;} 设置{regnr=value;} } 公共字符串梅尔克 { 获取{return maerke;} 集合{maerke=value;} } 公共国际旅行社 { 获取{return vaegt;} 设置{vaegt=value;} } 公共图书馆 { 获取{return traek;} 设置{traek=value;} } 公共Bil(字符串注册、字符串maerke、int vaegt、bool traek) { this.regnr=regnr; this.maerke=maerke; this.vaegt=vaegt; this.traek=traek; } 公共双人停车场(内华特、布尔特莱克) { this.vaegt=vaegt; this.traek=traek; 双statsAfgift=0; 如果(vaegt 800) statsAfgift=800*50+75*vaegt-800; 如果(traek==true) statsAfgift=statsAfgift+200; 返回statsAfgift; } } Bil Honda=新Bil(“225689”,“本田”,500,真实); Console.WriteLine(“Statsafgiften påbilen er afsat til:{0:C}”,Honda.StatsAfgift(500,true)); Bil雪铁龙=新的Bil(“985632”,“雪铁龙”,400,假); Bil标致=新的Bil(“125697”,“标致”,650,真实); Bil[]bilSamling=新Bil[3]; bilSamling[0]=本田; bilSamling[1]=雪铁龙; 比尔萨姆林[2]=标致; foreach(Bil b位于Bil Samling) { Console.WriteLine(“Statsafgift påer{1}”,b.maerke,b.Statsafgift(b.vaegt,b.traek)) },c#,arrays,object,C#,Arrays,Object,我只是想澄清一下,比尔=汽车。Statsafgift=税收。Vaegt=重量,maerke=品牌,regnr=注册号 我需要打印出数组中的对象以及计算出的每个对象。在尝试编译代码时,我还遇到一些堆栈溢出错误。问题在于 class Bil { public string regnr { get { return regnr; } set { regnr = value; } } public string maerke {

我只是想澄清一下,比尔=汽车。Statsafgift=税收。Vaegt=重量,maerke=品牌,regnr=注册号

我需要打印出数组中的对象以及计算出的每个对象。在尝试编译代码时,我还遇到一些堆栈溢出错误。

问题在于

class Bil
{
    public string regnr
    {
        get { return regnr; }
        set { regnr = value; }
    }

    public string maerke
    {
        get { return maerke; }
        set { maerke = value; }
    }

    public int vaegt
    {
        get { return vaegt; }
        set { vaegt = value; }
    }

    public bool traek
    {
        get { return traek; }
        set { traek = value; }
    }

    public Bil(string regnr, string maerke, int vaegt, bool traek)
    {
        this.regnr = regnr;
        this.maerke = maerke;
        this.vaegt = vaegt;
        this.traek = traek;
    }

    public double StatsAfgift(int vaegt, bool traek)
    {
        this.vaegt = vaegt;
        this.traek = traek;
        double statsAfgift = 0;
        if (vaegt <= 800)
            statsAfgift = vaegt * 50;
        else if (vaegt > 800)
            statsAfgift = 800 * 50 + 75 * vaegt - 800;
        if (traek == true)
            statsAfgift = statsAfgift + 200;
        return statsAfgift;
    }
}

Bil Honda = new Bil("225689", "Honda", 500, true);
Console.WriteLine("Statsafgiften på bilen er afsat til: {0:C}", Honda.StatsAfgift(500, true));
Bil Citroen = new Bil("985632", "Citroen", 400, false);
Bil Peugeot = new Bil("125697", "Peugeot", 650, true);

Bil[] bilSamling = new Bil[3];
bilSamling[0] = Honda;
bilSamling[1] = Citroen;
bilSamling[2] = Peugeot;


foreach (Bil b in bilSamling)
{
    Console.WriteLine("Statsafgift på {0} er {1}", b.maerke, b.StatsAfgift(b.vaegt, b.traek))
}
尝试改用自动属性

public string regnr 
            {
                get { return regnr; }
                set { regnr = value; }
            }
尝试分配
regnr=value时引发溢出
为此,您应该使用其他类似的变量:

public string Regnr { get; set; }

你的stackoverflow错误来自你的属性。您需要定义一个局部私有变量来保存它们(正如它们当前所调用的那样),或者更好地将它们定义为自动属性

private string _regnr;

public string Regnr
{
      get { return _regnr; }
      set { _regnr = value; }
}
看起来也不需要传递参数,因为它们已经在对象上了

public bool traek { get; set; }
你甚至可以不用foreach循环,在一个类似的机器上运行它

Console.WriteLine("Statsafgift på {0} er {1}", b.maerke, b.StatsAfgift());

这是C#吗?你应该用你需要帮助的编程语言来标记你的问题。很抱歉。劳恩盖格是C#。
Console.WriteLine("Statsafgift på {0} er {1}", b.maerke, b.StatsAfgift());
Console.WriteLine(String.Join("\n", bilSamling.Select(b => String.Format("Statsafgift på {0} er {1}", b.maerke, b.StatsAfgift()))));