【C#学习笔记】一、基础知识
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#学习笔记】一、基础知识的更多相关文章
- MyBatis:学习笔记(1)——基础知识
MyBatis:学习笔记(1)--基础知识 引入MyBatis JDBC编程的问题及解决设想 ☐ 数据库连接使用时创建,不使用时就释放,频繁开启和关闭,造成数据库资源浪费,影响数据库性能. ☐ 使用数 ...
- C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)
一:值类型和引用类型的含义参考前一篇文章 C#学习笔记(基础知识回顾)之值类型和引用类型 1.1,C#数据类型分为在栈上分配内存的值类型和在托管堆上分配内存的引用类型.如果int只不过是栈上的一个4字 ...
- C#学习笔记(基础知识回顾)之值传递和引用传递
一:要了解值传递和引用传递,先要知道这两种类型含义,可以参考上一篇 C#学习笔记(基础知识回顾)之值类型和引用类型 二:给方法传递参数分为值传递和引用传递. 2.1在变量通过引用传递给方法时,被调用的 ...
- C#学习笔记(基础知识回顾)之值类型和引用类型
一:C#把数据类型分为值类型和引用类型 1.1:从概念上来看,其区别是值类型直接存储值,而引用类型存储对值的引用. 1.2:这两种类型在内存的不同地方,值类型存储在堆栈中,而引用类型存储在托管对上.存 ...
- Quartz学习笔记:基础知识
Quartz学习笔记:基础知识 引入Quartz 关于任务调度 关于任务调度,Java.util.Timer是最简单的一种实现任务调度的方法,简单的使用如下: import java.util.Tim ...
- .net学习笔记---xml基础知识
一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...
- Docker的学习笔记(一)基础知识
概述 本人最近在学习docker相关的知识,既是工作本身的需要也是自己对技术的追求的必要,以后我也会推出容器相关的随笔,既可以增长自己的知识,也可以和读者广泛交流,岂不乐乎?话不多说.第一篇先介绍do ...
- Scala学习笔记--正则表达式基础知识、如何在scala内使用
正则表达式语法:https://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx 基础知识:正则表达式30分钟入门教程 http://www. ...
- (C/C++学习笔记) 一. 基础知识
一. 基础知识 ● 程序和C/C++ 程序: 根据Wirth (1976), Algorithms + Data Structures = Programs. Whence C: 1972, Denn ...
- C#学习笔记(基础知识回顾)之枚举
一:枚举的含义 枚举是用户定义的整数类型.在声明一个枚举时,要指定该枚举的示例可以包含的一组可接受的值.还可以给值指定易于记忆的名称.个人理解就是为一组整数值赋予意义. 二:枚举的优势 2.1:枚举可 ...
随机推荐
- 执行计划中常见index访问方式(转)
近期有朋友对于单个表上的index各种情况比较模糊,这里对于单个表上,单个index出现的大多数情况进行了总结性测试,给出了测试结果,至于为什么出现这样的试验结果未做过多解释,给读者留下思考的空间.本 ...
- hdu-1890-Robotic Sort splay区间翻转
题意: 依次找第i大的数下标pos[i],然后将区间[i,pos[i]]翻转 分析: splay树区间翻转 // File Name: ACM/HDU/1890.cpp // Author: Zlbi ...
- 字符串(后缀自动机):USACO Dec10 恐吓信
[题目描述] FJ刚刚和邻居发生了一场可怕的争吵,他咽不下这口气,决定佚名发给他的邻居一封脏话连篇的信.他有无限张完全相同的已经打印好的信件,都包含 N个字母(1<=N<=50,000). ...
- Hadoop core-site.xml 配置项列表
core-default.xml与core-site.xml的功能是一样的,如果在core-site.xml里没有配置的属性,则会自动会获取core-default.xml里的相同属性的值 官方文档: ...
- HDOJ(HDU) 2161 Primes(素数打表)
Problem Description Write a program to read in a list of integers and determine whether or not each ...
- HDOJ 1846 Brave Game
Problem Description 十年前读大学的时候,中国每年都要从国外引进一些电影大片,其中有一部电影就叫<勇敢者的游戏>(英文名称:Zathura),一直到现在,我依然对于电影中 ...
- iOS 用CocoaPods做iOS程序的依赖管理
文档更新说明 2012-12-02 v1.0 初稿 2014-01-08 v1.1 增加设置 ruby 淘宝源相关内容 2014-05-25 v2.0 增加国内 spec 镜像.使用私有 pod.po ...
- SRM 392(1-250pt)
DIV1 250pt 题意:给两个各含有一个*号的字符串s1和s2,可以用一个任意字符串代替*号(注意是串,不是只能用单个字符代替,也可以为用空串代替),问能否将s1和s2变为相同的字符串.如果能输出 ...
- hdu4666 最远曼哈顿距离
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4666 #include <cstdio> #include <cstring> ...
- 存储的一些基本概念(HBA,LUN)
有些新手总是在各式各样的概念里绕来绕去,弄的不亦乐乎.所以我就把我的一些理解写了下来,供您参考.我说的不局限于任何一种具体产品和厂家,也可能有些说法和某些厂家的说法不一样,但是我觉得应该算的上是本原的 ...