`

C#学习笔记——面向过程

 
阅读更多

基本数据类型

 

类型

别名

允许的值

 

 

 

整数型

 

 

sbyte

System.Sbyte

-128~127

byte

System.Byte

0~255

short

System.Int16

-23768~32767

ushort

System.Uint16

0~65535

int

System.Int32

-2147483648~2147483647

uint

System.Uint32

0~4294967295

long

System.Int64

-9223372036854775808~9223372036854775807

ulong

System.Uint64

0~18446744073709551615

 

 

 

浮点型

 

 

float

System.Single

 

double

System.Double

 

decimal

System.Decimal

 

 

 

 

字符型

 

 

char

System.Char

Unicode065535的整数

 

 

 

布尔型

 

 

bool

System.Boolean

true  false

 

 

 

字符串

 

 

string

System.String

一组字符

 

运算符

 

 

布尔运算符:==,!=,<><=>=!&|^&&||

位运算符:&^,~和|是对位进行操作的。

布尔赋值运算符:&=|=^=

位移运算符:>><< 左移几位实际上就是乘以几次2,右移几位就是除以几次2,并舍弃余数。

位移赋值运算符:>>=<<= 

 

 

 

优先级

类别

运算符

1

基本

(x)  x.y  f(x)  a[x]  x++  x--  new  typeof  sizeof  checked  unchecked

2

单目

+  -  !  ~   ++x  --x  (T)x

3

乘法与除法

*  /  %

4

加法与减法

+  -

5

移位运算

<<  >>

6

关系运算

<  >  <=  >=  is

7

条件等

= =  ! =

8

位逻辑与

&

9

位逻辑异或

^

10

位逻辑或

|

11

条件与

&&

12

条件或

||

13

条件

?:

14

赋值

=  *=  /=  %=  +=  -=  <<=  >>=  &=  ^=  |=

 

三元运算符

<test>?<resultIfTrue>:<resultIfFalse>

 

 

变量的作用域

变量有一个作用域,在这个作用域中,变量是有效的。

这个作用域包括定义变量的代码块和直接嵌套在其中的代码块。函数中的代码块与定义它们的代码块是不同的。 全局变量是在函数外定义的,是在program程序段里定义的,在各个函数中都有效。 全局变量的名称如果和函数中的变量名称一致,那么在函数中要用program加变量名引用。如:program.myInt。如果不用这种方式引用,那么将被认为是局部变量。

 

其他结构中的变量的作用域

在循环内部定义或初始化的变量不能在循环外面使用,即在循环中定义或初始化的变量是循环的局部变量。

即使变量是在循环外面定义的,但是在循环内部初始化的,循环结束后,该变量仍然会改变为未初始化的状态,还需要重新初始化。

 

命名空间

 

namespace 空间名称
{

}

 

 

内嵌命名空间

 

namespace 空间名称
{

}
 

 

流程控制

 

goto语句

给代码加上标签,goto语句直接跳转到该标签的代码。

 

goto <labelName>;

 

 例:

 

int x=5;
goto myLabel;
x++;
myLabel:
Console.WriteLine(“myInteger={0}”,x);

 

 

条件语句

if语句

 

if(<test>)
    <code>
 

 

if(<test>)
    <code>
else
    <code>
 

 

if(<test>)
{
    <code>
}
else
{
    <code>
}

 

 

if(<test>)
{
    <code>
}
else if(<test>)
{
    <code>
}
else
{
    <code>
}
 

 

 

switch语句

 

switch(<testVar>)
{
    case <comparisonVal1>:
        <code>
        break;
    case <comparisonVal2>:
        <code>
        break;
    …
    case <comparisonValN>:
        <code>
        break;
    default:
        <code>
        break;
}

 

 

C#的case中的break是必须的。否则会报错。

C#的case可以配合goto一起使用,而使得case进入另一个case。

 

 

循环语句

 

do
{
   <code>
}
while(<Test>);
 

 

while(<Test>)
{
   <code>
}

 

for(<initialization>;<condition>;<operation>)
{
    <code to loop>
}

 

 

循环的中断

break

continue

goto

return

 

 

类型转换

隐式转换

 

显式转换

 

Convert命令

 

 

复杂的变量类型

1.枚举

enum<typeName>
{
    <value1>,
    <value2>,
    …
    <valueN>
}

 

 

2. 结构

 

struct <typeName>
{
   <memberDeclarations>
}

 

例:

 

struct route
{
public orientation direction;
public doubledistance;
}

route myRoute;

myRoute.direction=
myRoute. distance=2.5;

 

 

数组

声明数组

 

<baseType>[] <name>;

 

 

赋初值

 

int[] myIntArray={5,9,10,2};
  

 

foreach循环

 

foreach(<baseType> <name> in<array>)
{
   //
}
 

 

多维数组

也称为矩形数组

二维数组

 

 <baseType>[,] <name>;
 

 

多维数组

 

<baseType>[,,,] <name>;
 

 

 

double[,] hillHeight=new double[3,4];

double[,]hillHeight={{1,2,3,4},{2,3,4,5},{3,4,5,6}};   //三行四列

 

 

数组的数组

声明

 

int[][] jaggedIntArray;
 

 

初始化

 

jaggedIntArray=new int[2][];
jaggedIntArray[0]=new int[3];
jaggedIntArray[1]=new int[4];

 

 

 

字符串处理

string myString=”A string”;

string可以看作char的只读数组。

char myChar=myString[1];

 

string myString=”A string”;

char[] myChars=myString.ToCharArray();

 

 

函数

函数访问修饰符  返回值类型  函数名称(参数列表)

{

    函数体

}

 

 

static <returnType><functionName>()

{

return<returnValue>;

}

 

 

例:

static void Write()

{

 

}

 

 

 

Main()函数

C#入口点。

 

static void Main()
{

}

 

 

static void Main(string[] args)
{

}

 

 

static int Main()
{

}

 

 

static int Main(string[] args)
{

}

 

 

 

 

 

委托

一种可以把引用存储为函数的类型。委托类似与函数指针类似。

 

delegate double ProcessDelegate(doubleparam1,double param2);

关键字  返回类型 委托名称(参数)

 

static double Multiply(double param1,doubleparam2)

{

   return param1*param2;

}

 

static double Divide(double param1,doubleparam2)

{

   return param1/param2;

}

 

 

使用委托类型声明变量

ProcessDelegate process;

 

初始化委托变量

process=new processDelegate(Multiply);

process=new processDelegate(Divide);

 

可以使用简单语法

process= Multiply;

process= Divide;

 

 

委托变量作函数参数

static void ExcuteFunction(ProcessDelegateprocess)

{

   process(2.2,2.3)

}

 

 

Lambda表达式

=>左边为参数,右边为函数体

x=>x*x

 

也可以使用{} 或 return

y=x =>{

    return x*x;

}

 

 

 

 

异常处理

try语句

 

try
{
}
catch(<exceptionType> e)
{
}
finally
{
}
 

 

ThrowException()函数,调用时使用参数排除异常

ThrowException("none")  不抛出异常

 

 

 

列出和配置异常

 

 

分享到:
评论

相关推荐

    C#6.0学习笔记 从第一行C#代码到第一个项目设计 随书源码

    本学习笔记旨在帮助初学者从零基础开始掌握C#编程,逐步进阶到能够独立设计项目。随书源码为学习提供了实践操作的平台,确保理论与实践相结合。 一、C# 6.0基础语法 1. 变量与数据类型:C#支持多种数据类型,包括...

    C#学习笔记之——调用C++

    C#作为一种面向对象的现代编程语言,在.NET平台上拥有丰富的类库支持以及高效的运行效率;而C++则更接近底层硬件,对于某些特定任务(如性能敏感型计算或硬件交互)有着不可替代的作用。因此,了解如何在C#中调用C++...

    C#学习笔记——基本语法

    C#是一种由微软开发的面向对象的编程语言,它的设计目标是提供一种高效、类型安全且功能丰富的环境,用于创建各种应用程序,包括Windows桌面应用、Web应用以及游戏等。C#的基本语法是学习该语言的基础,下面将详细...

    东北大学秦皇岛分校c#大作业——电子笔记本

    总的来说,"东北大学秦皇岛分校c#大作业——电子笔记本"是一个很好的实践项目,它将理论知识与实际操作相结合,帮助学生在实践中提高编程能力。通过这样的动手练习,相信同学们能够深入理解C#语言,并能独立完成类似...

    C#学习笔记

    ### C#学习笔记知识点解析 #### 面向对象编程的理解 标题中提到的“面向对象是本本主义、洁癖的体现”这句话反映了一种对面向对象编程(Object-Oriented Programming, OOP)的看法。面向对象编程是一种程序设计范式...

    c#学习笔记.txt

    c#学习笔记(1) 51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-25 字体: [大 中 小] 51099在线学习网 http://www.51099.com 1, 结构(struct) 与 类(class) [attributes] [modifiers] struct ...

    C#——wpf入门经典

    C#入门经典:学习笔记 面向对象编程 C#是一种面向对象的语言,具有封装、继承、多态等特性。所有的类型可以看作是一个对象,C#只允许单继承,即一个类不会有多个基类。 .NET 框架 .NET 框架包括四个部分:类型...

    学了一个月c#唯一个一个成品——记事本

    在一个月的学习过程中,开发者可能从基础语法开始,逐步掌握了C#的基本结构、面向对象编程概念以及Windows应用程序开发的基础知识。 描述中提到“可能会有各种bug”,这暗示了作为初级项目,可能存在一些编程错误或...

    C#键盘控制 迷你笔记本无CapsLock指示灯 C#编程解决方案DELLCapsExpress1.2Beat

    在这个场景下,我们关注的是一个针对特定问题的C#编程解决方案——"DELLCapsExpress1.2Beat",它专为了解决迷你笔记本上无CapsLock指示灯的问题。C#作为一种广泛使用的面向对象的编程语言,具有丰富的库和API,可以...

    英语学习软件c#制作源码

    本篇将深入探讨一款由C#编写的英语学习软件,这款软件是开发者在学习C#的过程中创作的,它不仅是一个实用的英语学习工具,也是一个展示C#编程技巧和多线程、文件读取等技术的实例。 首先,让我们关注软件的核心功能...

    C#-Halcon-Python-C++练习文本笔记.zip

    这篇文档将深入探讨标题"**C#-Halcon-Python-C++练习文本笔记.zip**"中涉及的四个关键编程语言——C#、Halcon、Python和C++的相关知识点,以及它们在实际应用中的结合和练习。 首先,让我们从C#开始。C#是一种面向...

    Unity5实战:使用C#和Unity开发多平台游戏 源码

    6. 教程或文档:可能包括开发过程中的笔记、代码注释或者教程文本。 通过研究这份源码,开发者不仅可以学习到如何在Unity5中搭建游戏场景,还能深入理解C#在游戏逻辑中的应用,以及如何进行多平台发布和优化。同时...

    适合初学者的资料发送到

    C#学习笔记: C#作为.NET框架的一部分,学习内容涵盖基本语法、控制结构、类与对象、泛型、接口、委托和事件。了解Windows Forms和WPF(Windows Presentation Foundation)用于桌面应用开发,以及Unity引擎中的C#...

    座次表排序软件——基于.NET 4.0

    总之,【座次表排序软件——基于.NET 4.0】是一个很好的学习资源,它涵盖了.NET框架的基本使用、C#编程语言的关键概念、UI设计以及数据管理等多个方面,对于想要深入理解和实践.NET平台的开发者来说,具有很高的参考...

    Arcgis开发集锦.doc——

    本文档主要聚焦于ArcGIS Engine的开发技巧和关键概念,适用于C#编程环境的学习笔记。以下将逐一详解文档中提到的知识点: 1. **用ArcEngine的工具条添加图层要素**: 在ArcEngine应用中,用户可以通过创建工具条并...

    C#写的迷你版计算器

    C#是微软公司推出的面向对象的编程语言,常用于Windows应用开发,包括桌面应用程序和游戏。在本项目中,开发者通过C#的.NET Framework或.NET Core平台构建了一个功能完备的计算器应用。 【描述】:“自己写的,感觉...

    C# 俄罗斯方块

    5. **文档**:可能有README文件或开发者笔记,解释了项目的目的、开发过程和技术细节。 在C#中开发俄罗斯方块,开发者可能会遇到以下几个关键知识点: - **事件驱动编程**:通过响应键盘输入和定时器事件来更新游戏...

    C# 大宝宝IP地址便捷修改器(v1.0)

    面对这样的需求,C#编程语言提供了一种高效且便捷的解决方案——“C# 大宝宝IP地址便捷修改器(v1.0)”。这款工具的诞生,旨在简化IP地址的修改过程,尤其适用于那些在特定场景下IP地址容易被重置的情况,如本文中...

Global site tag (gtag.js) - Google Analytics