c#中类型的转换

1、Convert.ToInt32(string s)

这个方法的返回值是int类型,要用int类型的变量接收
如:
string strNum=Console.ReadLine(); //键入
int age=Convert.ToInt32(strNum);//转换

或者:int age=Convert.ToInt32(“18”);
若输入的不是整形数字,则四舍五入
int age=Convert.ToInt32(“18.8”);//这里age=19

2、int.Parse(string s)

输入的字符串类型必须为int型
如:
string strNum=Console.ReadLine();
int age=int.Parse(strNum);

3、int.TryParse(string s,out int result)

这个方法的返回值是bool类型的,int.TryParse()要用bool类型的变量接收
如:
string strNum=Console.ReadLine();
int age=0;
bool result=int.TryParse(strNum,out age);

另外:这里以int类型为例,而double、float与int类似。

Conver.to....(val),是Convert命令的基本格式,用于显式转换

C#中的goto语句

goto语句名为无条件转移语句,十分灵活,但是由于goto语句的跳转影响程序的结构,所以一般"教材"上都不建议使用。

但是用它可以实现递归,循环,选择等很多功能,使用起来也很方便,可以适当使用。

goto跳转的语句,并不是一定要跳转到之后的语句,也就是说,goto还可以跳到前面去执行,可以实现循环,也可跳出循环。

eg:

    int i = 0;

    if(i<9){

       i++;

      goto cc;

    }

  cc: Console.Write(i);

goto语句只允许在一个语句块内跳出,或者在一个语句块内的一个地方跳到另一个地方;不允许从一个语句块外面跳入一个语句块的内部

C#中的复杂变量

》》枚举

enum body{ddd,aaa,ccc,dcd,acs};

//直接body.aaa取用

同时枚举里面得变量是默认赋值0然后依次递增。

同时也可自由赋值,若存在一个未赋值的跟在赋值的变量背后,则按上一个值+1。

》》数组

int []num = new int[5];   //初始化一个数组//num[0...99+]取用(注意不同的写法!)

int []num ={"a","a","a",''a'};

int []num = new int[4]{"d","d","d","d"}

@数组的遍历:

  foreach(int t in num){......};

  while(i<num.length){......};

  for(int i=0;i<num.length;i++){.....};

 

》》结构

和类相似的用法,但是类是引用类型。结构是值类型,所以储存在栈上。

后面详细解释,这里先略过。

 

》》记住一些字符串的方法

ToLower()//转换为小写

ToUpper()//转换为大写

Trim()//去掉字符两端的空格,中间不管

TrimStart()

TrimEnd()

Split()//stringObject.split(separator,howmany),其中separator为分割参数可为“空格”

》》C#中的@符号的用法

@其实就是取消字符串中的转义作用,忽略转义符。

而C#中一般的的"\"是作为转义来使用的,而不是一个真的斜杠字符串。
如一个地址字符串。
string path="c:\abc\";  

string path="c:\\abc\\";      //一般的写法是这样,不用@ 斜杠表示转义,多加个斜杠
string path=@"c:\abc\";     //这里的@让斜杠保持原意,不要转义

》》C#中的$符号的用法

C#6.0之后,可以使用$符号拼接字符串,效果等同string.Format()
如下代码中,str1,str2输出效果等同。

string add = "plase A";

string str1 = string.Format("{0},{1},{2}",id ,name,add);

string str1 = $"{id},{name},{add}";

》》C#中的Var符号的用法

使用var定义变量时有以下四个特点:

 1. 必须在定义时初始化。也就是必须是var s = “abcd”形式,而不能是如下形式: var s; s = “abcd”;

 2. 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。

 3. var要求是局部变量。

 4. 使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。

》》C#中?的用法

》》C#中random.Next()方法

random.Next() --------------返回非负的一个随机数。

random.Next(MaxValue)----------返回一个小于所指定最大值的非负随机数

minValue
类型:System.Int32

返回的随机数的下界(随机数可取该下界值)。

maxValue
类型:System.Int32

返回的随机数的上界(随机数不能取该上界值)。maxValue 必须大于等于 minValue

C#学习历程(二)[基础知识]的更多相关文章

  1. 如何学习FPGA?FPGA学习必备的基础知识

    如何学习FPGA?FPGA学习必备的基础知识 时间:2013-08-12 来源:eepw 作者: 关键字:FPGA   基础知识       FPGA已成为现今的技术热点之一,无论学生还是工程师都希望 ...

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

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

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

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

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

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

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

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

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

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

  7. python核心编程学习记录之基础知识

    虽然对python的基础知识有所了解,但是为了更深入的学习,要对python的各种经典书籍进行学习 第一章介绍python的优缺点,略过 第二章介绍python起步,第三章介绍python基础,仅记录 ...

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

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

  9. java安全学习-环境准备/基础知识

    补java的坑,开始! 1.Intellij一些快捷键 intell常用快捷键: ctrl+n 快速查找定位类的位置 ctrl+q 快速查看某个类的文档信息 shift + F6 快速类.变量重命名 ...

  10. Python学习之并发基础知识

    8 并发编程 8.1 基础知识 8.1.1 操作系统的定义 操作系统是存在于硬件与软件之间,管理.协调.调度软件与硬件的交互. 资源管理解决物理资源数量不足和合理分配资源这两个问题, 通俗来说,操作系 ...

随机推荐

  1. POJ 3613 Cow Relays (floyd + 矩阵高速幂)

    题目大意: 求刚好经过K条路的最短路 我们知道假设一个矩阵A[i][j] 表示表示 i-j 是否可达 那么 A*A=B  B[i][j]  就表示   i-j 刚好走过两条路的方法数 那么同理 我们把 ...

  2. 安装MySQL版本为mysql-installer-community-5.7.17.msi

    双击MySQL安装包, 勾选复选框,点击下一步: 选择仅仅服务器模式,点击下一步: 直接点击执行: 执行完成,点击下一步: 确认配置,点击下一步: 输入用户名和密码,点击下一步: 默认选项,点击下一步 ...

  3. HDU1165: Eddy's research II(递推)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1165 果断不擅长找规律啊,做这种题静不下心来. Ackermann function can be def ...

  4. PAT 天梯赛 L1-022. 奇偶分家 【水】

    题目链接 https://www.patest.cn/contests/gplt/L1-022 AC代码 #include <iostream> #include <cstdio&g ...

  5. Linux系统启动管理 系统安全

    Linux GRUB加密方法 加密grub防止黑客通过单用户系统破解root密码 ,进入系统窃取数据.给grub加密,不让别人通过grub进入单用户.  生成密码 [root@localhost ~] ...

  6. Linux命令——ln命令创建和删除软、硬链接(6/29)

      ln命令用来为文件创建链接,连接类型分为硬链接和符号链接两种,默认的连接类型是硬连接.如果要创建符号连接必须使用"-s"选项.  用法:  ln  [options]  sou ...

  7. 编写Tesseract的Python扩展

    Tesseract是一个开源的OCR(光学字符识别)引擎,用于识别并输出图片中的文字.虽然和商业软件比起来识别精度不算很高,但是如果你要寻找免费开源的OCR引擎,可能Tesseract就是唯一的选择了 ...

  8. Sybase数据库:两个特别注意的地方

    Sybase数据库:两个特别注意的地方 一.字段别名 字段别名不能为查询条件中的列名,会导致查询出来的数据不准确:最好字段别名为非列名: 二.更新的表名的大小写 update a set .... s ...

  9. tesseract编译各种 “锟斤拷” 等中文乱码 编译失败问题

    编译tesseract - ocr时 各种不通过 也很疑惑,完全按照官方指导来的啊 首先以为是vs的编码问题,随切换选项-切换Unicode或多编码字符集,但仍无效. 定位到乱码的文件,用notepa ...

  10. sqlmap的简要使用方法

    仅作为备忘!!! sqlmap使用: 注入类型有四种分别为:boolean-based blind.error-based.stacked queries.inline query. sqlmap - ...