C#基础知识整理:C#基础(1)

c#基本结构

using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication1{    class MyFirstClass    {        static void Main(string[] args)        {            Console.WriteLine("Hello world!");            Console.ReadLine();        }    }}

(1)、变量定义
;
例,MyFirstClass myFirstClass;
(2)、如何变量的初始化
int a = 0;
string str=string.Empty;
int init = a*2;
(3)、变量的作用域
首先应该弄清楚private,protected、internal和public的各自作用域。
private-完全私有,只有在本类中才能调用,子类或其它类均不能调用,继承时,子类也不能继承private的属性或方法。
protected-和private一样,但区别在于,protected中子类可以访问并继承成员和方法。
internal-公开的,在同一个程序集中都可以访问,其它程序集则不可以访问。
public-完全公开的,只要在一个项目中都可以访问,不过不同的程序集的话,需要引用其所在的程序集。
那么由这些类型声明的变量的作用域与它们的作用范围一样;
一般的变量的作用域如下:
a、变量所属类在某个作用域,属性或方法也在作用域中。
b、局部变量的作用域,声明该变量的块语句或方法结束的大括号之前。
(4)、常量
在声明变量时,在变量前面加上const 关键字就可以把该变量指定为一个常量。
注意:
  a 常量必须在声明的时候就初始化,而且其赋值后就不能再更改了。
  b 常量总是静态(static)的,不必在声明常量时添加static关键字。
(5)字符串处理
字符串处理应该会用的比较多。常用有如下:
           

string testString = @"Hello,world!";            testString.Substring(0, 1);            testString.Trim();            testString.TrimEnd('\n');            testString.TrimStart('0');

还有诸于,contains,startwith,endwith的等等,在vs中.就可以看到所有的方法和属性。
(6)使用正则表达式
正则在项目中应用还是比较多的,可参考如下文章:
正则字符描述:http://www.php.cn/;
常用正则:http://www.php.cn/。
(7)、什么是CTS类型?
一个给定的程序集可能包含任意数量的不同”类型”。在.NET领域里,类型(type)是一个一般性的术语,它指的是集合{类,接口,结构,枚举,委托}里的任意一个成员。当用支持.NET的语言构建解决方案时,很有可能要与这些类型打交道。例如,程序集可能定义了一个类,它又实现了一些接口。或许其中某个接口方法采用枚举类型作为输入参数,而在调用时返回一个结构。

CTS(公共类型系统)是一个正式的规范,它规定了类型必须如何定义才能被CLR承载。通常,只有那些创建针对.NET平台的工具或编译器的人才对CTS的内部工作非常关心。但是,对于所有.NET编程人员来说,学习如何在自己使用的语言中使用由CTS定义的5种类型,是非常重要的。这里简单概括一下。
每一种支持.NET的语言至少要支持类类型(class type)的概念,这是面向对象编程(OOP)的基础。类可能由很多成员(诸如属性、方法和事件)和数据(字段)组成。在C#中,使用class关键字来声明类:

// C#类类型。class Calc{    public int Add(int x, int y)    {         return x + y;     }}

表 CTS类类型

类的特征

在生命周期里的意义

类是否被“密封”

密封类不能作为其他类的基类

类实现任何接口了吗

接口是抽象成员的集合,它在对象和对象的用

户间提供一个契约。CTS允许类或结构实现任

何数目的接口

类是具体的还是抽象的

抽象类是不能直接创建的,但是可以用来为派

生类型定义公共的行为。具体类可以直接创建

这个类的可见性是什么

每个类必须设置可见性。基本上,可见性定义了

该类是被外部程序集使用,还是仅能在定义了它

的程序集中使用

(8) 数据类型如何分类以及各个数据类型范围?
http://www.php.cn/
(9)操作符
括号操作符
格式()
点操作符
格式 (E.I)
其中E是基本表达式或者预定义类型,I是一个标识符。C++里除了”.”之外还有”::” “->”,C#里用点操作符来代替。比如一个类T有成员变量M,在C++里用T::M来引用,C#里用T。M来引用。另一点不同的是,C#里预定义类型也是从Object类派生出来的,因此也定义了成员变量,比如,I是一个short类型的变量,那么I。ToInt()操作将返回一个Int类型的值。
后缀加减操作符
格式:p++;p–; ++p; –p;
结果是给变量p加1或减1
new操作符
格式:a, new 类型(参数列表)
b,new 数组类型初始化列表
c,new 代表类型(表达式)
typeof操作符
该操作返回一个类型对应的system。type,如:

typeof(int); typeof(System。Int32); typeof(string);

各自的结果为int32,int32,string。typeof只对类型操作,不能对变
量操作,例如,”int I;typeof(I);”是不合法的

sizeof操作符
该操作可获得一个类型所占用的空间大小,以字节为单
位。该操作符用在unsafe模块中,如

Unsafe{S=sizeof(int);}

或者在调用该操作符的函数中使用该前缀。
单目操作符
(1)+-操作
(2)逻辑非:!(表达式)
(3)位非:~(表达式)
(4)强制类型转换: (T) 表达式
关系运算符
==,!=,,=, is
is用来判断一个变量是否是某一类型,例如,s is string
位逻辑操作符
&(位与),|(位或),^(异或)。可以对整数,布尔,和枚
举类型进行这三种操作。
条件逻辑操作符
包括&&(与)和||(或)
条件运算符
b x:y
b为真,结果是x,否则是y

以上就是C#基础知识整理C#基础(1)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1432167.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 06:18:11
下一篇 2025年12月17日 06:18:20

相关推荐

  • C#的隐式和显示类型转换

        关于隐式转换和显示转换,每种语言都有的,c#中当然也不例外。一般常用到的场合,一种是写运算表达式的时候,要保持整体的数据类型一致和计算准确,比如有一个变量a是int型,但是它是通过加减乘除得到的,那么在运算中就要考虑用显示转换,除的运算需要转换成float或double,再把结果强制转换为i…

    好文分享 2025年12月17日
    000
  • C#基础知识整理:C#类和结构(1)

    1、结构功能特性? 实现代码?结构用struct关键字定义的,与类类似,但有本质区别。结构实质是一个值类型,它不需要对分配的。结构的特性:(1)、结构作为参数传递时,是值传递。(2)、结构的构造函数必须带参数的。(3)、结构实例化可以不用new的。(4)、结构不能继承,但是可以实现接口。(5)、结构…

    好文分享 2025年12月17日
    000
  • C#基础知识整理:C#类和结构(2)

      1、什么是构造函数? 有哪些构造函数? 各个构造函数的定义、实现方法、注意事项?所谓构造函数,就是一个方法,这个方法可以初始化对象,即运行完这个函数后,内存总开辟了一块该类的对象的空间。有三种:正常的构造函数,也就是实例化构造函数;私有构造函数;静态构造函数。实例化构造器: public cla…

    2025年12月17日
    000
  • C#中使用gRPC

    由于有nuget,使得c#在配置项目时非常简单。 1. 在NuGet中添加ProtocolBuffer和gRPC引用 protocol buffer 3.0版本,在NuGet插件界面选择Include Prerelease,查找google protocol buffer。如果不选择include …

    好文分享 2025年12月17日
    000
  • C#理解泛型

    简介 Visual C# 2.0 的一个最受期待的(或许也是最让人畏惧)的一个特性就是对于泛型的支持。这篇文章将告诉你泛型用来解决什么样的问题,以及如何使用它们来提高你的代码质量,还有你不必恐惧泛型的原因。 泛型是什么? 很多人觉得泛型很难理解。我相信这是因为他们通常在了解泛型是用来解决什么问题之前…

    好文分享 2025年12月17日
    000
  • C#基础之yield与Singleton

    1.实例解析yiled的作用 最近参加java笔试题第一次见到yield这个关键字,既然遇见了那肯定要掌握,下面是c#中关于yield关键字的总结。yield这个关键字作用于迭代器块中,其最本质的功能有2个:一是“依次”向枚举对象提供值,二是发出迭代结束信号。这两个功能对应的语句分别是yield r…

    2025年12月17日
    000
  • C# 继承

    继承是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类来定义一个类,这使得创建和维护应用程序变得更容易。同时也有利于重用代码和节省开发时间。 当创建一个类时,程序员不需要完全重新编写新的数据成员和成员函数,只需要设计一个新的类,继承了已有的类的成员即可。这个已有的类被称为的基…

    好文分享 2025年12月17日
    000
  • C# 多线程经典示例 吃苹果

    本文主要讲述了多线程开发中经典示例,通过本示例,可以加深对多线程的理解。 示例概述:   下面用一个模拟吃苹果的实例,说明C#中多线程的实现方法。要求开发一个程序实现如下情况:一个家庭有三个孩子,爸爸妈妈不断削苹果往盘子里面放,老大、老二、老三不断从盘子里面取苹果吃。盘子的大小有限,最多只能放5个苹…

    2025年12月17日
    000
  • C#希尔排序

    c#希尔排序 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Sort { class ShellSorter { public static int[] …

    2025年12月17日 好文分享
    000
  • C# 选择排序

    c# 选择排序 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Sort { class SelectSorter { public static int[…

    2025年12月17日
    000
  • C#编程中的泛型

    .net 1.1版本最受诟病的一个缺陷就是没有提供对泛型的支持。通过使用泛型,我们可以极大地提高代码的重用度,同时还可以获得强类型的支持,避免了隐式的装箱、拆箱,在一定程度上提升了应用程序的性能。本文将系统地为大家讨论泛型,我们先从理解泛型开始。 1.1 理解泛型 1.1.1 为什么要有泛型? 我想…

    好文分享 2025年12月17日
    000
  • C#的扩展方法解析

    在使用面向对象的语言进行项目开发的过程中,较多的会使用到“继承”的特性,但是并非所有的场景都适合使用“继承”特性,在设计模式的一些基本原则中也有较多的提到。 继承的有关特性的使用所带来的问题:对象的继承关系实在编译时就定义好了,所以无法在运行时改变从父类继承的实现。子类的实现与它父类有非常紧密的依赖…

    好文分享 2025年12月17日
    000
  • C#基础回顾Async 的返回类型

    序 博主简单数了下自己发布过的异步文章,已经断断续续 8 篇了,这次我想以 async 的返回类型为例,单独谈谈。 异步方法具有三个可能的返回类型:Task、Task 和 void。  什么时候需要使用哪一种返回类型,具体情况需要具体分析。如果使用不当,程序的执行结果也许并不是你想要的,下面我们就来…

    好文分享 2025年12月17日
    000
  • C#开发之winform(公共控件)

    一、客户端设计思路 1.理顺设计思路,架构框架 2.设计界面 3.编写后台代码 4.数据库访问 二、公共控件 1、Button(按钮):        ⑴ Enabled :确定是否启用控件        ⑵ Visible:确定控件是否课件; 2、CheckBox(多选项) 、CheckListB…

    好文分享 2025年12月17日
    000
  • C#拾遗之小知识(三):类

    是抽象的概念。   例如Dog类描述了狗有的一些特性,体重、身高、年龄、以及吼叫等等。 public class Dog  {  string dogBreed;//犬种  int weight; //体重  int height; //升高  int age; //年龄  public void …

    好文分享 2025年12月17日
    000
  • C#拾遗之小知识(四):继承

    方法重写:     基类方法标识virtual关键字,子类(继承类)中方法重写标识override关键字。     重写的方法必须跟基类的类型相同,如方法名称、返回和接受参数。 public class Class1 { public virtual void show(int i) {……} } …

    好文分享 2025年12月17日
    000
  • C#拾遗之小知识(五):抽象类&接口

    抽象类abstract: 抽象类和抽象方法可以用abstract关键字进行标识。就是没有完全定义的类或方法。所以不能直接实例化操作。 就因为他没完全定义所以不能用sealed关键字进行密封。 抽象方法不含程序主体: public abstract class Student { //抽象方法,不含程…

    好文分享 2025年12月17日
    000
  • C#拾遗之小知识(六):数组

    数组: Int [] intArray = new int[6];Int [][] intArray = new int[2][];Int [][][] intArray = new int[2][][];intArray[1][2][1] = 3;Int [ , ] myTable = new i…

    好文分享 2025年12月17日
    000
  • C#进阶系列——AOP?AOP!

    前言:这篇打算写写aop,说起aop,其实博主接触这个概念也才几个月,了解后才知道,原来之前自己写的好多代码原理就是基于aop的,比如mvc的过滤器filter,它里面的异常捕捉可以通过filterattribute,iexceptionfilter去处理,这两个对象的处理机制内部原理应该就是aop…

    2025年12月17日 好文分享
    000
  • C#中CLR(公共语言运行时)与IL(中间代码)

    .net平台中的CLR 首先要说明的是,.net平台与c#不是一回事 它是c#,vb.net等程序运行的平台。 CLR是公共语言运行时,是 .NET Framework的重要组成部分。它提供了内存管理、线程管理和异常处理等服务,而且还负责对代码实施严格的类型安全检查,保证了代码的正确性。 事实上,类…

    2025年12月17日
    000

发表回复

登录后才能评论
关注微信