C# 知识摘要

C

数据类型

  1. 值类型: bool char double int float等
  2. 引用类型:
    对象类型 Object:当一个值类型转换为对象类型时,则被称为 装箱;另一方面,当一个对象类型转换为值类型时,则被称为 拆箱。
    动态类型 Dynamic
    字符串类型 String
  3. 指针类型

类型转换

序号 方法 & 描述
1 ToBoolean
2 ToByte
3 ToChar
4 ToDateTime
把类型(整数或字符串类型)转换为 日期-时间 结构。
5 ToDecimal
把浮点型或整数类型转换为十进制类型。
6 ToDouble
把类型转换为双精度浮点型。
8 ToInt32
把类型转换为 32 位整数类型。
9 ToInt64
把类型转换为 64 位整数类型。
12 ToString
把类型转换为字符串类型。

using System;
namespace MYTest
{
    class Test
    {
        static void Main(string[] args)
        {
        	//因为 Console.ReadLine() 只接受字符串格式的数据
            string str = Console.ReadLine();
            Console.WriteLine("输出字符串:{0}",str);
            Console.WriteLine("输出转换成Convert.ToInt32类型:{0}",Convert.ToInt32(str));
			Console.WriteLine("--------------------");
            int a = 1;
            //float类型后要加“f”
            float b = 3.233f;
            double c = 2.2;
            Console.WriteLine(a.ToString());
            Console.WriteLine("{0},{1},{2}",a.ToString(), b.ToString(),c.ToString());            
            Console.ReadLine();
        }
    }
}

常量

public const int a = 5;

封装

抽象和封装是面向对象程序设计的相关特性。
抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象。

C# 封装根据具体的需要,设置使用者的访问权限,并通过 访问修饰符 来实现。

一个 访问修饰符 定义了一个类成员的范围和可见性。C# 支持的访问修饰符如下所示:

public:所有对象都可以访问;
private:对象本身在对象内部可以访问;
protected:只有该类对象及其子类对象可以访问(有助于实现继承);
internal:同一个程序集的对象可以访问;
protected internal:访问限于当前程序集或派生自包含类的类型。

注:如果没有指定访问修饰符,则使用类成员的默认访问修饰符,即为 private。

using System;
namespace MyFirstProgram
{
    class Rectangle
    {
        private double width;
        private double length;
        public void Detail()
        {
            width = Convert.ToDouble(Console.ReadLine());
            length = Convert.ToDouble(Console.ReadLine());
        }
        public double GetArea()
        {
            return width * length;
        }
        public void Display()
        {
            Console.WriteLine("width:{0}", width);
            Console.WriteLine("length:{0}", length);
            Console.WriteLine("Area:{0}", GetArea());
        }
    }
    class First
    {

        static void Main(string[] args)
        {
            Rectangle re = new Rectangle();
            re.Detail();
            re.Display();
        }
    }
}

在这里插入图片描述

在上面的实例中,成员变量 length 和 width 被声明为 private,所以它们不能被函数 Main() 访问。

成员函数 Detail() 和 Display() 可以访问这些变量。

由于成员函数 Detail() 和 Display() 被声明为 public,所以它们可以被 Main() 使用 Rectangle 类的实例 r 访问。

参数传递:

值参数:这种方式复制参数的实际值给函数的形式参数,实参和形参使用的是两个不同内存中的值。在这种情况下,当形参的值发生改变时,不会影响实参的值,从而保证了实参数据的安全。
eg: swap(int a,int b)不会改变值
在这里插入图片描述

引用参数:这种方式复制参数的内存位置的引用给形式参数。这意味着,当形参的值发生改变时,同时也改变实参的值。在这里插入图片描述
输出参数:这种方式可以返回多个值。
在这里插入图片描述

数组

//普通数组
int[] n = new int[10];
double[] d = new double[10];
//多维数组
string[,] names;
int[,,] m;
int[,] a = new int[3, 4] {
    {0, 1, 2, 3} ,   /*  初始化索引号为 0 的行 */
    {4, 5, 6, 7} ,   /*  初始化索引号为 1 的行 */
    {8, 9, 10, 11}   /*  初始化索引号为 2 的行 */
};

//交错数组
int[][] scores = new int[5][];
for (int i = 0; i < scores.Length; i++) 
{
   scores[i] = new int[4];
}

int[][] scores = new int[2][]{new int[]{92,93,94},new int[]{85,66,87,88}};

//传递数组给函数(其中arr是数组)
double getAverage(int[] arr, int size)
//参数数组
//[也就是将一组数据传递给另一个方法中去(该方法接收到的是一个数组的形式)](https://www.runoob.com/csharp/csharp-param-arrays.html)

//Array类:

标题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值