构造函数初始化器

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            cat c = new cat("萌萌");//先执行cat(string s,int i)构造函数
            Console.WriteLine("名字:{0},年龄:{1}", c.name, c.age);//输出名字:萌萌,年龄:1
            Console.ReadKey();
            
        }
    }

    class cat {
        public string name;
        public int age;
        public cat(string s,int i) {
            name = s;
            age = i;
        }
        public cat(string s)
            : this("小萌", 1)  //构造函数初始化器(匹配参数相同的构造函数)【使用基类的构造函数则用关键字base】
        {
            name = s;
        }
    }
}

构造函数初始化器,布布扣,bubuko.com

时间: 2024-08-05 13:38:40

构造函数初始化器的相关文章

C++学习笔记17,构造函数体内初始化数据成员与构造函数初始化器的区别(一)

在构造体内初始化数据成员是最常见的方法. 例如: #include <iostream> using namespace std; class A { private: int i; string s; public: A(int ii,string ss){ //在构造函数体内初始化数据成员 i=ii; s=ss; cout<<"ctor:i="<<i<<",s="<<s<<endl; } /

Asp.net Mvc 数据库上下文初始化器

在Asp.net Mvc 和Entity FrameWork程序中,如果数据库不存在,EF默认的行为是新建一个数据库.如果模型类与已有的数据库不匹配的时候,会抛出一个异常. 通过指定数据库上下文对象初始化器,可以执行删除和重新创建数据库,并用种子方法填充数据库. 当Asp.net Mvc 应用程序每一次运行的时候,Entity Framework 能够自动创建(或者删除重新创建)数据库.你能够指定每一次程序运行的时候,或者模型与已有数据库不匹配的时候执行 删除重新创建操作,通过指定Seed 方法

自定义集合初始化器

对int类型集合初始化,这样写: static void Main(string[] args) { var list = new List<int> {0, 1}; foreach (var item in list) { Console.WriteLine(item); } Console.ReadKey(); } 对键值对集合初始化,这样写: static void Main(string[] args) { var dic = new Dictionary<string, str

对象初始化器与集合初初始化器

对象初始化器的结果: 对象初始化器的优点: 1.只需要一条语句就可以完成对象初始化工作. 2.无需为简单对象提供构造函数. 3.无需为初始化不同属性而为类提供多个构造函数. 集合初始化的优点: 1.集合初始化已声明的方式初始化集合,具有更好的代码可读性.

C#对象初始化器

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 对象初始化器 { class Program { static void Main(string[] args) { //第二种初始化 var s1 = new student("张三",23); Console.WriteLine(s1.ToString()); //第一种初始化 var s2

[C#详解] (1) 自动属性、初始化器、扩展方法

代码下载:点我下载 目录 前言 属性与自动属性 属性 自动属性 初始化器 对象初始化器 集合初始化器 扩展方法 无参数扩展方法 带参数扩展方法 结尾 前言 首先祝大家2015新年快乐! 新的一年,新的开始.来博客园安家已经快两个月了.每天看博客.写博客.评论.回答博问已经渐渐养成了一种习惯.可以很明显的感觉到泡在博客园里真的可以学到很多,不论是技术文章的还是一些记叙经历.抒发感想的随笔,都让我从各个方面受益良多.不知道大家是否和我一样,就是感觉博客园有一种特殊的魔力,让你没事就想上去看一眼,看上

C#高级知识点概要(3) - 特性、自动属性、对象集合初始化器、扩展方法、Lambda表达式和Linq查询

1.特性(Attributes) 特性(Attributes),MSDN的定义是:公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型.字段.方法和属性等.Attributes和Microsoft .NET Framework文件的元数据保存在一起,可以用来向运行时描述你的代码,或者在程序运行的时候影响应用程序的行为.例如,在一个方法前标注[Obsolete]特性,则调用该方法时VS则会提示该方法已过期的警告,如下图: 又如,在.Net Re

C#语言进阶——14. C# 的初始化器

1.C# 的初始化器极其语法 初始化器:就是在一个class或者对象初始化的 对他的属性或者字段赋值,又可以分为对象和集合的初始化器 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 //常见初始化方式 6 var student1 =new StudentName("xiangbing","ke"); 7 //对象初始化器 8 var student2 = new StudentName { F

自动属性和初始化器

属性 一般我们在类中都会有关键字,根据面向对象的法则,这个变量最好是私有的 class Person { private int Age; } 但是我们有时要在类的外面访问这个变量,如果定义成私有的就无法访问了,最开始我想既然要要访问那就都定义成public类型就好了,把不访问的定义成private,为什么要有属性这个东西?举个例子 class Person { public int age; } static main() { Person p = new Person(); p.age =