c# 笔记

作者: 表情会 | 来源:发表于2019-07-04 15:01 被阅读0次

c#程序刚开始启动的时候都会有唯一一个入口函数main()函数,而非静态成员又称实例成员,必须作用于实例。在程序刚开始运行的时候,未建立任何实例,因此无法调用实例成员,包括非静态的Main方法。为了能够在程序的开始执行Main方法,必须将其声明为静态。 

顺便说明,在Main方法中调用的成员也必须是静态的,除非建立过相应的实例。 

namespace lover_P.Test { 

public class Test {

public void InstanceMethod() {} // 实例成员(非静态)

public static void StaticMethod {} // 类型成员(静态)

public static void Main() {

InstanceMethod(); // 错误!调用了实例成员,而此时并没有建立实例

StaticMethod(); // 正确!可以调用静态成员

Test SomeTest = new Test(); // 建立本类型的一个实例

SomeTest.InstanceMethod(); // 再在这个实例上调用实例成员就对了

SomeTest.StaticMethod(); // 附加一句,在实例上调用静态成员也是错误的!

}

}

}

static 表示方法是静态的就是说方法在程序被编译的时候就被分配了内存,使用的时候不用生成某个类型的对象,直到程序退出才释放。

void 表示方法没有返回值,就是方法没有renturn 关键字。

main 是方法名,当然这个方法是特殊的方法,是Main()就是说是主函数,就是整个程序的入口,程序被编译后从这里开始执行,这也是main方法要是static的原因,因为在啥都没做的时候这个函数就得存在。

string[] args 表示命令行参数是字符串数组,就是说,你在命令行(黑框框)里输入的参数可以使多个字符串(在某种意义上意味着什么都可以是命令行参数)。

运行时会弹出命令窗口,你可以在那里输入一些参数,string[] args 指的就是你在命令窗口输入的参数。args是用来处理命令行参数的。命令行参数,就是你运行这个程序的时候给它传的参数。它是可选项,不是必须的。

如何向C# Main函数传递参数呢?我们看到C# Main函数带有一个string[] args参数,那么你知道它有什么实际的功能呢?下面我们来具体谈谈:

C#控制台应用程序下,我们常常看到Main函数带有一个string[] args参数,那么你知道它有什么用处?

步骤1:建立一个控制台应用程序,暂且命名为Main.cs

步骤2:贴上下面这段代码。

using System;

class Program{

      static void Main(string[] args){

      int argsLength = args.Length;

      Console.WriteLine("Main函数参数args的长度:" + argsLength.ToString());

for (int i = 0; i < argsLength; i++)

{

Console.Write("第" + i.ToString() + "位是:");

Console.WriteLine(args[i].ToString());

}

}

}

步骤3:编译并运行Main.cs,生成Main.exe文件

步骤4:在命令行模式下输入c:\>Main a b c ,敲回车看结果

输出结果为:

Main函数参数args的长度:3

第0位是:a

第1位是:b

第2位是:c

由于参数个数是未知的,所以允许输入任意多个,也可以不输入。



C#四种访问修饰符是什么

Public:公有的,是类型和类型成员的访问修饰符。对其访问没有限制。

Internal:内部的,是类型和类型成员的访问修饰符。同一个程序集中的所有类都可以访问

Private:私有的,是一个成员访问修饰符。只有在声明它们的类和结构中才可以访问。

Protected::受保护的,是一个成员访问修饰符。只能在它的类和它的派生类中访问。

一、  main方法分析

1、       publicstatic void main(String [] args)

{

   //代码块

}

2、       public:共有的

static:静态的

void:没有返回值

mian:主方法名称

String[] args:表示参数为字符串

二、  作业:

创建一个羊类,使用static实现羊类,记录一共创建了几只羊,

 class HomeWork1

{

 public static void main(String[] args)

 {

  Sheep s1 = new Sheep("喜洋洋");

  Sheep s2 = new Sheep("美羊羊");

  Sheep s3 = new Sheep("懒洋洋");

  System.out.println(Sheep.getCount());

 }

}

class Sheep

{

 private String name;

 private static int count = 0;

 public Sheep(String name)

 {

   this.name = name;

   count++;

 }

 public static int getCount()

 {

    return count;

 }

}

---------------------

作者:Lqc_javaEngineer

来源:CSDN

原文:https://blog.csdn.net/u014756517/article/details/51067377

版权声明:本文为博主原创文章,转载请附上博文链接!

相关文章

  • C#学习笔记(一)2018.05.15

    C#学习笔记(一) 笔者是在有Java编程经验(《Java语言程学设计》作者:梁勇)的基础上,进行C#的学习。 编...

  • WPF/C#学习笔记.1:WPF中的布局TabControl,G

    WPF/C#学习笔记.1 WPF中的布局TabControl,Grid与GridSpliter等 WPF布局原则 ...

  • C# CookBook 基本语法

    笔记资料:C#开发轻松入门 慕课网 https://www.imooc.com/learn/422 .NET开发简...

  • C# 笔记

    1、枚举的转换 2、C#判断对象类型 3、用反射动态绑定控件事件 容器窗体内包括一个1列2行的TableLayou...

  • c# 笔记

    c#程序刚开始启动的时候都会有唯一一个入口函数main()函数,而非静态成员又称实例成员,必须作用于实例。在程序刚...

  • C#笔记

    原创by superowner,转载请注明出处一些C#注意事项,笔记1, 这个简书页面无法支持显示,因为是utf-...

  • 真会 C# 吗

    声明 计划写一个 C# 系列教程学习笔记。内容来自微软 MVP solenovex(https://www.cnb...

  • C# 6/7 新功能

    C#新功能 一、C#历史演变 C# 1,Visual Studio .NET 2002: C# 初版。 C# 1....

  • WPF/C#学习笔记.2:Xml格式文件读取与通过XmlData

    WPF/C#学习笔记.2 Xml格式文件读取与通过XmlDataProvider以及资源模板“动态”绑定到Tree...

  • 初学NODE 学习笔记

    NODE 学习笔记(一) NODE是什么 NODE不是后台开发语言,我们了解的JAVA、PHP、C#、.NET(d...

网友评论

    本文标题:c# 笔记

    本文链接:https://www.haomeiwen.com/subject/buqrhctx.html