首页 > 编程语言 >C#基础 readonly 构造函数初始化readonly字段

C#基础 readonly 构造函数初始化readonly字段

时间:2023-04-20 20:37:06浏览次数:41  
标签:Console WriteLine C# int readonly str MyClass 构造函数


  • .NET Framework : 4.7.2
  •        IDE : Visual Studio Community 2019
  •         OS : Windows 10 x64
  •     typesetting : Markdown

基础代码

code

using System;

namespace ConsoleApp
{
    class MyClass
    {
        private readonly string str;
        public MyClass()
        {
            str = @"MyClass() 构造函数";
            Console.WriteLine(str);
        }
        public MyClass(int i) : this()
        {
            str = @"MyClass(int i) 构造函数";
            Console.WriteLine(str);
        }
    }

    class Program
    {

        static void Main(string[] args)
        {
            var a = new MyClass(1);

            Console.ReadKey();
        }
    }
}

result

MyClass() 构造函数
MyClass(int i) 构造函数

思考与尝试 - 一个构造函数可以多次初始化readonly字段吗?

code

using System;

namespace ConsoleApp
{
    class MyClass
    {
        private readonly string str;
        public MyClass()
        {
            str = @"MyClass() 构造函数";
            Console.WriteLine(str);
        }
        public MyClass(int i) : this()
        {
            // 第一次
            str = @"MyClass(int i) 构造函数";
            Console.WriteLine(str);

            // 第二次
            str = "asd";
            Console.WriteLine(str);
        }
    }

    class Program
    {

        static void Main(string[] args)
        {
            var a = new MyClass(1);

            Console.ReadKey();
        }
    }
}

result

MyClass() 构造函数
MyClass(int i) 构造函数
asd

虽然迷惑于尝试这个能干什么,但是很有趣呢。

resource

  • [文档] docs.microsoft.com/zh-cn/dotnet/csharp
  • [规范] github.com/dotnet/docs/tree/master/docs/standard/design-guidelines
  • [源码] referencesource.microsoft.com
  • [ IDE ] visualstudio.microsoft.com/zh-hans
  • [.NET Core] dotnet.github.io


感恩曾经帮助过 心少朴 的人。
C#优秀,值得学习。.NET Core具有跨平台的能力,值得关注。
Console,WinForm,WPF,ASP.NET,Azure WebJob,WCF,Unity3d,UWP可以适当地了解。
注:此文是自学笔记所生,质量中下等,故要三思而后行。新手到此,不可照搬,应先研究其理象数,待能变通之时,自然跳出深坑。

欢迎关注微信公众号:悟为生心

C#基础 readonly 构造函数初始化readonly字段_c#


标签:Console,WriteLine,C#,int,readonly,str,MyClass,构造函数
From: https://blog.51cto.com/shiwanwu/6210537

相关文章

  • C#基础 ref out 函数参数 不算重载的简单示例
     .NETFramework:4.7.2       IDE:VisualStudioCommunity2019        OS:Windows10x64    typesetting:Markdown codeusingSystem;namespaceConsoleApp{classProgram{staticvoidMain(string[]args){......
  • 【Azure Spring Cloud】在Azure Spring Apps上看见 App Memory Usage 和 jvm.menory.u
    问题描述在Azure的SpringCloud服务(官名为:SpringApps)中,在Metrics页面中查看AppMemoryUsage和jvm.memory.use,发现两则在下图中出现巨大差距。AppMemoryUsage还是在逐渐上升jvm.memory.use却断崖式下降  在AppMemoryUsage在逐渐上涨的情况下,是否会最终出现OO......
  • C#基础 namespace 命名空间嵌套,各空间内成员相互独立
     .NETFramework:4.7.2       IDE:VisualStudioCommunity2019        OS:Windows10x64    typesetting:Markdown codeusingSystem;namespaceSpaceOuter{classStudent{publicintnum=0;}namespaceSpaceI......
  • C#基础 out 函数参数为out int类型 简单示例
     .NETFramework:4.7.2       IDE:VisualStudioCommunity2019        OS:Windows10x64    typesetting:Markdown codeusingSystem;usingSystem.Linq;namespaceConsoleApp{classProgram{publicstaticvoidMyFun(int......
  • C#基础 Math Pow Sqrt 幂与平方根
     .NETFramework:4.7.2       IDE:VisualStudioCommunity2019        OS:Windows10x64    typesetting:Markdown codeusingSystem;namespaceConsoleApp{classProgram{staticvoidMain(string[]args){......
  • C#基础 MethodInfo GetMethod 反射 调用有参公共方法
     .NETFramework:4.7.2       IDE:VisualStudioCommunity2019        OS:Windows10x64    typesetting:Markdown codeusingSystem;usingSystem.Reflection;namespaceConsoleApp{publicclassPerson{publicvoidSayH......
  • C#基础 MethodInfo GetMethod 反射 调用无参公共方法
     .NETFramework:4.7.2       IDE:VisualStudioCommunity2019        OS:Windows10x64    typesetting:Markdown codeusingSystem;usingSystem.Reflection;namespaceConsoleApp{publicclassPerson{publicvoidSayH......
  • C++基础2: 优化C函数
    1.缺省参数什么是缺省参数缺省参数是声明或者定义函数时为函数的参数指定一个默认值,如果函数调用时没有传入实参,那么这个默认值会被当做实参,如下例子函数调用时,传入参数1,a=1,不传入参数,默认a=0,这里的a就是一个缺省参数缺省参数的分类缺省参数分全缺省和半缺省......
  • C#基础 Guid NewGuid 产生重复概率极小的一串编号
     .NETFramework:4.7.2       IDE:VisualStudioCommunity2019        OS:Windows10x64    typesetting:Markdown codeusingSystem;namespaceConsoleApp{classProgram{staticvoidMain(string[]args){......
  • 第5篇Scrum冲刺博客
    这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/2023softwareengine团队仓库https://gitcode.net/oneteam这个作业的目标第5篇Scrum冲刺博客昨天已完成的工作成员任务陈翔隆博客编写曾嘉豪页面查询功能叶达源页面分页功能谭嘉......