1.1数据类型(P43)

类型

别名

允许的值

sbyte

System.SByte

-128~127

byte

System.Byte

0~255

short

System.Int16

-32768~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

char

System.Char

一个Unicode字符,0~65535

bool

System.Boolean

true/false

sring

System.String

一组字符

float

System.Single

1.5*10^-45~3.4*10^38

double

System.Double

5.0*10^-324~1.7*10^308

decimal

System.Decimal

1.0*10^-28~7.9*10^28

1.2枚举类型(P97)

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//【例子1】枚举的基本应用

//1)赋值是可以使用其枚举值赋值,如ct=emCardType.Temic;也可以直接用数值赋值,如ct = (emCardType)3;也可用将字符串经过转换//  赋值给枚举变量,如ct = (emCardType)Enum.Parse(typeof(emCardType), "M1")

//2)使用WritenLine时其实是调用其ToString()方法将其转换为字符串

//3)可以将没有枚举到的数值赋给枚举变量,但ToString()方法显示的字符串为其值

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

enum emCardType:byte

{

Temic,

Em=2,

ID,

M1

}

emCardType ct;

ct=emCardType.Temic ;

Console.WriteLine("ct is {0},value is {1}", ct,(byte)ct);             //显示"ct is Temic,value is 0"

ct++;

Console.WriteLine("ct is {0},value is {1}", ct,(byte)ct);             //显示"ct is 1,value is 1"

ct = (emCardType)Enum.Parse(typeof(emCardType), "M1");

Console.WriteLine("ct is {0},value is {1}", ct, (byte)ct);            //显示"ct is M1,value is 4"

ct = (emCardType)3;

Console.WriteLine("ct is {0},value is {1}", ct.ToString(), (byte)ct); //显示"ct is ID,value is 3"

Console.ReadKey();

1.3数组

1)一维数组定义

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

int[] myIntArray = new int[5];

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

2)多维数组定义

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

double[,] hillHeight = { { 1, 2, 3, 4 }, { 2, 3, 4, 5 }, { 3, 4, 5, 6 } };

3)数组的数组

int [][] myarray

myarray=new int[2][];

myarray[0]=new int[3];

myarray[1]=new int[4];

myarray=new int[3][](new int[]{1,2,3},new int[]{1},new int[]{1,2});

foreach (int[] subarray in myarray)

{

foreach(int nValue in subarray)

Console.WriteLine(nValue);

}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//【例子1】数组复制

//若直接使用=号则两个数组引用相同的值,要使用CopyTo方法进行复制

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

int[] myInt = new int[5]{5,2,1,8,4};

foreach (int i in myInt)

Console.Write(i + ",");

Console.WriteLine("");

int[] myInt2=new int[5];

myInt.CopyTo(myInt2,0);

//myInt2 = myInt;

myInt[1] = 3;

foreach (int i in myInt2)

Console.Write(i + ",");

1.4委托(P137)

【例子1

class Program

{

delegate double ProcessDelegate(double param1,double param2);

static double Multiply(double param1,double param2)

{

return param1*param2;

}

static double Divide(double param1,double param2)

{

return param1/param2;

}

static void Main(string[] args)

{

ProcessDelegate process;

if (input=="M")    //根据输入的不同将其实例化为不同的函数

process=new processDelegate(Multiply);

else

process=new processDelegate(Divide);

double fRet=process(f1,f2);

}

}

【例子2

private delegate int mif_selecom(int nCom, int nBaud);

private void button1_Click(object sender, EventArgs e)

{

IntPtr pDll = LoadLibrary("LC32RFRW.dll");

IntPtr pAddressOfFunctionToCall = GetProcAddress(pDll, "mif_selecom");

mif_selecom DoSeleCom = (mif_selecom)Marshal.GetDelegateForFunctionPointer(pAddressOfFunctionToCall,

typeof(mif_selecom));

}

【C#学习笔记】一、基础知识的更多相关文章

  1. MyBatis:学习笔记(1)——基础知识

    MyBatis:学习笔记(1)--基础知识 引入MyBatis JDBC编程的问题及解决设想 ☐ 数据库连接使用时创建,不使用时就释放,频繁开启和关闭,造成数据库资源浪费,影响数据库性能. ☐ 使用数 ...

  2. C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)

    一:值类型和引用类型的含义参考前一篇文章 C#学习笔记(基础知识回顾)之值类型和引用类型 1.1,C#数据类型分为在栈上分配内存的值类型和在托管堆上分配内存的引用类型.如果int只不过是栈上的一个4字 ...

  3. C#学习笔记(基础知识回顾)之值传递和引用传递

    一:要了解值传递和引用传递,先要知道这两种类型含义,可以参考上一篇 C#学习笔记(基础知识回顾)之值类型和引用类型 二:给方法传递参数分为值传递和引用传递. 2.1在变量通过引用传递给方法时,被调用的 ...

  4. C#学习笔记(基础知识回顾)之值类型和引用类型

    一:C#把数据类型分为值类型和引用类型 1.1:从概念上来看,其区别是值类型直接存储值,而引用类型存储对值的引用. 1.2:这两种类型在内存的不同地方,值类型存储在堆栈中,而引用类型存储在托管对上.存 ...

  5. Quartz学习笔记:基础知识

    Quartz学习笔记:基础知识 引入Quartz 关于任务调度 关于任务调度,Java.util.Timer是最简单的一种实现任务调度的方法,简单的使用如下: import java.util.Tim ...

  6. .net学习笔记---xml基础知识

    一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...

  7. Docker的学习笔记(一)基础知识

    概述 本人最近在学习docker相关的知识,既是工作本身的需要也是自己对技术的追求的必要,以后我也会推出容器相关的随笔,既可以增长自己的知识,也可以和读者广泛交流,岂不乐乎?话不多说.第一篇先介绍do ...

  8. Scala学习笔记--正则表达式基础知识、如何在scala内使用

    正则表达式语法:https://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx 基础知识:正则表达式30分钟入门教程 http://www. ...

  9. (C/C++学习笔记) 一. 基础知识

    一. 基础知识 ● 程序和C/C++ 程序: 根据Wirth (1976), Algorithms + Data Structures = Programs. Whence C: 1972, Denn ...

  10. C#学习笔记(基础知识回顾)之枚举

    一:枚举的含义 枚举是用户定义的整数类型.在声明一个枚举时,要指定该枚举的示例可以包含的一组可接受的值.还可以给值指定易于记忆的名称.个人理解就是为一组整数值赋予意义. 二:枚举的优势 2.1:枚举可 ...

随机推荐

  1. Tengine简单安装

    跟NGINX一样,没有深入研究配置,因为暂时用不到..:) 下载2.10,基于NGINX1.6.2的. 我的配置参数如下: ./configure --with-openssl=/root/tengi ...

  2. 关于type check的定义

    Concept: Type Checking There is no static type checking in Scheme; type checking is done at run time ...

  3. 揭开Linux操作系统的Swap交换区之谜

    揭开Linux操作系统的Swap交换区之谜 Swap,即交换区,除了安装Linux的时候,有多少人关心过它呢?其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要.通过调整Swap ...

  4. Going Home(最小费用最大流)

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16200   Accepted: 8283 Description On a ...

  5. Light OJ 1030 - Discovering Gold

    题目大意: 给你一个1*N的方格,你初始位置是在1,给你一个骰子,假设你现在的位置是X,你投掷一个骰子掷的点数是y, 那么你的新位置就是 X+y, 并且你可以得到新位置的宝藏.假如X+y > N ...

  6. 字符串(扩展KMP):HDU 4333 Revolving Digits

    Revolving Digits Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  7. HDOJ(HDU) 2115 I Love This Game(排序排序、、、)

    Problem Description Do you like playing basketball ? If you are , you may know the NBA Skills Challe ...

  8. UVa1658 Admiral(拆点法+最小费用流)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=51253 [思路] 固定流量的最小费用流. 拆点,将u拆分成u1和u ...

  9. lightoj 1407 2-sat

    这题的英语either...or....很蛋疼: m中,1:x与y至少一个出席:2:x出席,y随便,x不出席,y也不出席----这有个坑,可以推出y出席x也一定出席(这个关系必须要连上):3x与y至少 ...

  10. 苹果教你六招:设计优秀的icon

    在iOS 7测试版发布后,网上开始出现大量关于iOS 7设计的资源.在WWDC期间,苹果曾为开发者举办了多场主题演讲,其中有一场是苹果UX布道师Mike Stern的精彩演讲-- 优秀iOS设计最佳实 ...