c#初级

本文围绕C#编程展开,介绍了类的创建,包含不同访问修饰符。详细阐述了函数的四种形式,有无返回类型和参数的组合。还讲解了静态类、静态字段和函数的使用,以及属性机制用于访问私有字段。此外,涉及方法重载,即函数名相同但参数不同的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类:
创建一个类
public class A
{
//访问修饰符:public公有,protected 受保护的,private私有的。

    //public 在类内和类外都可以使用
    public int a; //定义一个字段a

    //protected 他只能在类内和它的子类中使用
    protected string b; //受保护的字段s

    //private 它只能在类内使用
    private float f;  //私有字段f

函数
//函数:有四种形式
//格式:访问修饰符 返回类型 函数名(形式参数){执行内容}
//void:代表是空,即无返回类型
//Sum是自己起的名字

第一种形式
public void Sum()
{
Console.WriteLine(“无返回类型无参数的函数”);
}

第二种形式
public void Sum1(int a)
{
Console.WriteLine(“无返回类型有参数的函数”);
}

第三种形式
public int Sum2()
{
Console.WriteLine(“有返回类型无参数的函数”);
return 123;
}
public int[] Sum3()
{
int[] a = { 1, 2, 3, 4, 5 };
Console.WriteLine(“有返回类型无参数的函数”);
return a;
}

public float Sum3()
{
Console.WriteLine(“有返回类型无参数的函数”);
return 3.14f;
}

第四种形式

public int Sum4(string s)
{
Console.WriteLine(“有返回类型有参数的函数”);
return 1;
}

在主类中使用
//调用类的方法
//第一步 实例化一个类的对象
//格式:类名 对象名=new 类名();

        //第二步 调用该类的字段
        //格式:对象名,字段名=赋值

//调用函数的格式:对象名.函数名(实际参数);

        A a1 = new A();
        a1.a = 34;

        A a1 = new A();
        a1.a = 34;
        //调用无返回类型无参数的函数
        a1.Sum();

        //调用无返回类型 有参数的函数
        a1.Sum1(12);

//调用有返回类型 无参数的函数
float f1= a1.Sum2();
Console.WriteLine(f1);

//调用有返回类型 有参数的函数

        int i = a1.Sum4("2");
        Console.WriteLine(i);

//static表示的是静态,静态类
//静态类里定义字段和函数必须是静态的
//非静态里可以定义静态字段和函数也可以定义非静态的字段和函数

public static class B
{
public static int a;//静态字段

    //静态函数
    public static void add()
    {
        Console.WriteLine("静态函数");

public class C
{
public int s; //非静态字段
public static int x; //静态字段
public void print()
{
Console.WriteLine(“非静态函数”);
}
public static void print1()
{
Console.WriteLine(“静态函数”);
}
}
调用静态函数
在main函数里面写代码
static void Main(string[] args)
{
//调用静态字段和静态函数的方法
//格式:类名。静态字段=赋值
//类名。静态函数();
C.x = 24;
Console.WriteLine(C.x);
C.print1(); //调用的的静态函数

题:
//从控制台上输入两个数 交换两个数的值

在main函数外面
public class B
{
public void Add(int a,int b )
{
int c = a;
a = b;
b = c;
Console.WriteLine("{0},{1}",a,b);
在main函数里面:
B b1 = new B();

        int n = Convert.ToInt32(Console.ReadLine());
        int m = Convert.ToInt32(Console.ReadLine());
        b1.Add(n, m);

第二种方法
public class D
{
public void Number1(int a)
{
if (a % 2 == 0)
{
Console.WriteLine(“偶数”);
}
else
{
Console.WriteLine(“奇数”);
}
}
}

函数里面

        D L = new D();
        int o = Convert.ToInt32(Console.ReadLine());
        L.Number1(o);

属性机制
在函数外面
public class per
{
public int a;
private int bar; //私有的 只能在类内使用
//在外部使用获取或者设置私有字段,提供了一种属性机制
public int Bar
{
get
{
return bar; //get是获取的意思
}
set
{
bar = value; //set是设置的意思
}

    }

在函数里面
per p1 = new per();
Console.WriteLine(p1.Bar);//通过get获取ber本身的值
p1.Bar = 35; //通过set重新设置bar的值

题:
//定义一个Date,定义私有字段 年月日 定义一个公有函数print,输入日期的全部信息
public class Date
{
private int year;
private int month;
private int day;
public int Year
{
get
{
return year;
}
set
{
year = value;
}

    }
    public int Month
    {
        get
        {
            return month;
        }
        set
        {
            if (value < 13 && value > 0)
            {
                month = value;
            }
            else
            {
                Console.WriteLine("输入的月份不正确");
            }
        }
    }
    public int Day
    {
        get
        {
            return day;
        }
        set
        {
            if (value < 31 && value > 0)
            {
                day = value;
            }
            else
            {
                Console.WriteLine("输入不正确");
            }
        }
    }
    public void print()
    {
        Console.WriteLine("年{0},月{1},日{2}",year,month,day );
    }

}

在函数里面
//Date nn = new Date();
//nn.print();
//nn.Year = 2018;
//nn.Month = 05;
//nn.Day = 29 ;
//nn.print();

//方法重载或者函数重载(方法等价于函数)
//方法重载:函数名相同,但是参数不同
//参数不同:参数个数不同 ,参数顺序不同,参数类型不同
列;
public void Add() { }
public void Add(int a) { }
public void Add(String s) { }
public void Add(string s,int i) { }
public void Add(int i,string s) { }

        Console.ReadKey();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值