C# 一个C类中的两个构造函数#

C# 一个C类中的两个构造函数#,c#,C#,我在类中遇到了一个问题,我在那个类中有两个构造函数,一个没有参数,另一个有两个参数。两个构造函数都有相同的名称,所以当我试图在程序中调用构造函数时,它在构造函数名称中调用了一个错误,这是合理的,因为我在一个类中有相同的构造函数。在task中,我需要编写两个构造函数,一个带参数,另一个不带参数,正如我之前所说的。类的名称是Artikal(engl.Article)和两个参数Naziv(engl.name)和Količina(engl.Amount)。我的问题是如何解决这个问题,以及如何用另一个名称

我在类中遇到了一个问题,我在那个类中有两个构造函数,一个没有参数,另一个有两个参数。两个构造函数都有相同的名称,所以当我试图在程序中调用构造函数时,它在构造函数名称中调用了一个错误,这是合理的,因为我在一个类中有相同的构造函数。在task中,我需要编写两个构造函数,一个带参数,另一个不带参数,正如我之前所说的。类的名称是Artikal(engl.Article)和两个参数Naziv(engl.name)和Količina(engl.Amount)。我的问题是如何解决这个问题,以及如何用另一个名称重命名某个构造函数?这是我的密码

Program.cs

{
    class Program
    {
        static void Main(string[] args)
        {
            Artikl artikl = Artikl("Pivo", 50);
            Console.WriteLine(artikl.naziv);
            Console.WriteLine(artikl.kolicina);
        }
    }
}
Artikal.cs

namespace Zadatak_1
{
    class Artikal
    {
        public string naziv { get; set; }
        public int kolicina { get; set; }

        public Artikl(string Naziv, int Kolicina)
        {
            this.naziv = Naziv;
            this.kolicina = Kolicina;
        }
        public Artikl() { }
    }
}

在实例化
Artikl
类之前,需要添加关键字
new

但是,您可以去掉带有参数的构造函数,并在
Artikl
对象的声明中内联赋值

    {
        static void Main(string[] args)
        {
            Artikal artikal = new Artikal {
              naziv ="Pivo", 
              kolicina  = 50
            };

            Console.WriteLine(artikal.naziv);
            Console.WriteLine(artikal.kolicina);
        }
    }

1.构造函数中使用的名称必须与类型的名称完全匹配。你的不一样。2.当安装一个类型(创建一个实例)时,你必须使用关键字
new
。我完全忘了,也没有意识到我忘了写new,你帮了我很多,谢谢。这个类也叫做
Artikal
,但是构造函数的名字是
Artikl
@Josh,很好的捕获。