C# 如何实例化一个类?

C# 如何实例化一个类?,c#,.net,c#-2.0,C#,.net,C# 2.0,我是C#的贝格纳, 我想在我的主类中创建一个新对象, 我该怎么做呢 豪斯酒店 namespace Assignment { public class House { //the class containing properties of the house //Properties with their GETTERS AND SETTERS public int housenumber {

我是C#的贝格纳, 我想在我的主类中创建一个新对象, 我该怎么做呢

豪斯酒店

namespace Assignment
{
public class House
    {
        //the class containing properties of  the house

        //Properties with their GETTERS AND SETTERS

        public int housenumber
            {
                get { return this.housenumber; }
                set { this.housenumber = value; } // Setter declaration
            }

        public string color
            {
                get { return this.color; }
                set { this.color = value; } 
            }
        public string nationality
            {
                get { return this.nationality; }
                set { this.nationality = value; } 
            }
        public string drink
            {
                get { return this.drink; }
                set { this.drink = value; } 
            }
        public string cigarrette
            {
                get { return this.cigarrette; }
                set { this.cigarrette = value; } 
            }
        public string pet
            {
                get { return this.pet; }

                set { this.pet = value; } 
            }
        public House( )
        {
        }
          }

}
但是在编译下面的主类时,我收到一个错误CS0246 “找不到类型或命名空间名称‘House’(是否缺少using指令或程序集引用?)

解算器

using System;
namespace Assignment
{
public class solver{
    // the main class
   static void Main()
    {
      House myhouse = new House();
    }
}
}


属性是函数类成员,不能存储任何数据本身。因此,必须声明字段以存储属性的数据:

private string color;
public string Color
{
    get { return color; }
    set { color = value; } 
}
但在简单情况下,我们可以在不显式声明字段的情况下声明属性:

int Color { get; set; }

.NET编译器将创建“隐藏”且不可见的字段来存储此属性的数据。

属性是函数类成员,不能存储任何数据本身。因此,必须声明字段来存储属性的数据:

private string color;
public string Color
{
    get { return color; }
    set { color = value; } 
}
但在简单情况下,我们可以在不显式声明字段的情况下声明属性:

int Color { get; set; }

.NET编译器将创建“隐藏”和“不可见”字段来存储此属性的数据。

首先,在文件“House.cs”中有一个包含大量属性的类“House”

1) 小心违反属性名称的命名规则。这些单词应该以大写开头。(drink=>drink)

2) 可以使用属性的表达式体清理代码

3) 可以删除空构造函数。 所以你们班现在是:

公共类房屋
{
/*无用的构造函数。你可以删除它。
公共场所({}
*/
public int HouseNumber{get;set;}//表达式体,名称中没有冲突
公共字符串颜色{get;set;}
公共字符串{get;set;}
公共字符串{get;set;}
公共字符串Cigarrette{get;set;}
公共字符串Pet{get;set;}
}
要实例化对象并使用它并设置值,可以执行以下操作:

使用赋值;//使用它导入类
使用制度;
名称空间控制台EAPP1{
班级计划{
静态void Main(){
//您可以这样实例化
var house=新房子();
house.national=“French”//使用house的唯一值分配
//如果要为房屋对象设置许多值,请执行以下操作:
var myHouse=新房子{
Cigarrette=“骆驼”,
Color=“黄色”,
国籍=“法语”
};
//现在您可以访问房屋的属性(如果您使用的是using)。
Console.WriteLine(house.national);//法语
Console.WriteLine(myHouse.national);//法语
}
}
}
是的,您必须使用分配导入带有
的“House.cs
如果由于您的class House.cs在另一个项目中而无法使用,您可以执行以下操作:
右键单击主项目->添加引用->添加House.cs所在的项目,开始在文件“House.cs”中创建类“House”,并包含许多属性

1) 小心违反属性名称的命名规则。这些单词应该以大写开头。(drink=>drink)

2) 可以使用属性的表达式体清理代码

3) 可以删除空构造函数。 所以你们班现在是:

公共类房屋
{
/*无用的构造函数。你可以删除它。
公共场所({}
*/
public int HouseNumber{get;set;}//表达式体,名称中没有冲突
公共字符串颜色{get;set;}
公共字符串{get;set;}
公共字符串{get;set;}
公共字符串Cigarrette{get;set;}
公共字符串Pet{get;set;}
}
要实例化对象并使用它并设置值,可以执行以下操作:

使用赋值;//使用它导入类
使用制度;
名称空间控制台EAPP1{
班级计划{
静态void Main(){
//您可以这样实例化
var house=新房子();
house.national=“French”//使用house的唯一值分配
//如果要为房屋对象设置许多值,请执行以下操作:
var myHouse=新房子{
Cigarrette=“骆驼”,
Color=“黄色”,
国籍=“法语”
};
//现在您可以访问房屋的属性(如果您使用的是using)。
Console.WriteLine(house.national);//法语
Console.WriteLine(myHouse.national);//法语
}
}
}
是的,您必须使用分配导入带有
的“House.cs
如果由于您的class House.cs在另一个项目中而无法使用,您可以执行以下操作:
在主项目中单击鼠标右键->添加引用->添加House.cs所在的项目

您的属性设置程序是递归的,并将因堆栈溢出异常而失败。您是说House对象,就像您已经在做的那样?是的,没错。您还可以让编译器使用
var myhouse=new House()自动推断类型
你确定你使用的是C#2.0吗?2.0语言版本可以追溯到2005年,我们目前正在进入C#8.0。添加John后,最好使用
公共int housenumber{get;set;}
,或者更好的PascalCase,也就是
HouseNumber
。在您最初的帖子中,您提到您正在使用
csc.exe
——您是否同时编译了
House.cs
Solver.cs这两个文件,方法是将这两个文件作为
csc.exe
的参数提供。例如,请参见此处,您的属性设置器是递归的nd将因堆栈溢出异常而失败。您是指房屋对象,就像您已经读过一样