C#基础总结
1、执行.NET应用程序时经历的几个步骤
- 用C#编写应用程序代码
- 把应用程序代码编译为中间语言代码(MSIL),存储在程序集中
- 使用JIT编译器将MSIL编译为本机代码
- 在托管的公共语言运行库(CLR)环境下运行本机代码。
2、.NET特性
- 一次编译,到处运行----由于.NETFramework的平台无关性
- 支持语言互操作性----通用语言系统(CLS)
- 自动内存管理
- 基类库
3、命名行示例
- 编译File.cs产生File.ext
csc File.cs
- 编译File.cs产生File.dll
csc/target:library File.cs
- 编译File.cs产生My.ext
csc/out:My.ext File.cs
4、C#语句以分号作为语句结尾
5、添加注释。采用"//"为单行注释;采用“/**/”为多行注释
6、C#区分大小写
7、类和方法的主体以“{”开始,以“}”结束
8、Console是一个类,表示控制台应用程序的标准输入流、输出流和错误流。
9、C#可执行文件必须有一个Main方法。
10、变量
- 代表存储地址
- 必须先定义后使用
- 不允许只声明不赋值
- 一条语句可以声明和初始化多个变量
11、类型推断:var
12、常量:在声明和初始化变量时,在前面加上关键字const
13、流程控制
- if-else语句
- switch-case语句
14、循环语句
- for
- while
- do-while
- foreach
15、跳转语句
- goto
- break
- continue
- reture
16、字符串常见操作
- 取字符串长度---- str.length
- 字符串转为比特码 ---- byte[] bytStr=System.Text.Encoding.Default.GetBytes(str);
- 字符串相加
StringBuilder---Append
String-----+
- 截取字符串的一部分---- 变量.Subtring(起始位置,位数)
- 查找指定位置是否为空字符---- char.IsWhiteSpace(字符串,位数)
- 查字符是否是标点符号---- char.IsPunctuation('字符')
- 把字符转化为数字---- (int)'字符'
- 把数字转化为字符---- (char)数字
- 清除字符串前后包含的空格---- str.Trim()
- 替换字符串---- str.Replace("原字符串","新字符串")
- 删除字符串中最后一个字符
方法1、str.Substring(0,str.Length-1)
方法2、str.ToString.RTrim('')
方法3、str.TrimEnd(char[] char)
- Split的3种方法
方法1、用单个字符分隔----str.Split(',')
方法2、用多个字符分隔----str.Split(new char[2]{'j','s'})
方法3、用字符串分隔----Regex.Split(str,"js",RegexOptions.IgnoreCase)
- 几种输出字符串的格式
12345.ToString("n"); //生成 12,345.00
12345.ToString("c"); //生成 ¥12,345.00
12345.ToString("e"); //生成 1.2345e+004
12345.ToString("f4"); //生成 12345.0000
12345.ToString("x"); //生成 3039(16进制)
12345.ToString("p"); //生成 1,234,500.00%
- 把123456789转换为12-345-6789的2种方法
str.ToString("##-###-####")
str.Insert(5,"-").Insert(2,"-")
- 输出21个A的简单做法
str=new string('A',21)
17、得到随机数的方法
Random r=new Random();
r.Next()//返回随机整数
r.Next(10)//返回小于10的整数
r.Next(1,20)//返回1~10内的整数
r.NextDouble()//返回0.0~1.0之间的随机数
18、Int32.TryParse()、Int32.Parse()、Convert.ToInt32()比较
如果要转换的字符串为null,Convert.ToInt32()返回0;Int32.TryParse()返回0;Int32.Parse()抛出异常。
性能上:Int32.TryParse()优于Int32.Parse()优于Convert.ToInt32()。
19、几个常用的数学函数
- 返回大于等于指定数字的最小整数 Math.Ceiling(0.40)//1
- 返回小于等于指定数字的最大整数 Math.Floor(1.90)//1
- 返回两个32位数字的乘积 Math.BigMul(2,3)//6
- 返回两个数的商(类型一致) r/s
- 返回商,输出余数 Math.DivRem(5,3,out ys)//结果为1,输出ys=2
C#基础总结的更多相关文章
- java基础集合经典训练题
第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...
- node-webkit 环境搭建与基础demo
首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Golang, 以17个简短代码片段,切底弄懂 channel 基础
(原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...
- [C#] C# 基础回顾 - 匿名方法
C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...
- HTTPS 互联网世界的安全基础
近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...
- Swift与C#的基础语法比较
背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...
- .NetCore MVC中的路由(1)路由配置基础
.NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...
- .NET基础拾遗(5)多线程开发基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...
- .NET 基础 一步步 一幕幕[面向对象之方法、方法的重载、方法的重写、方法的递归]
方法.方法的重载.方法的重写.方法的递归 方法: 将一堆代码进行重用的一种机制. 语法: [访问修饰符] 返回类型 <方法名>(参数列表){ 方法主体: } 返回值类型:如果不需要写返回值 ...
随机推荐
- dataRow转化为对象
对象类名useInfo,int,short,string,DateTime格式如下: userInfo.ErrorTimes = int.Parse(dataRow["ErrorTimes& ...
- mysql优化一 之 优化内容概述及开启慢查日志的相关配置
1-1数据库优化的目的 首先是为了避免出现页面访问错误(基本有三种) (1)由于数据库连接timeout产生的页面5XX错误 (2)由于慢查询造成页面无法加载 (3)由于阻塞造成的数据无法提交 其次: ...
- delphi强制WebBrowser控件使用指定版本显示网页
function TFrmmain.WriteAppNameToReg:Boolean; var reg:TRegistry; sPath,sAppName:String; Sver:string; ...
- poj2485 kruskal与prim
Kruskal: #include<iostream> #include<cstdio> #include<algorithm> using namespace s ...
- js 倒计时(可自定义时间)
<html> <head> <title>js 倒计时</title> </head> <body> <div> & ...
- C/C++ 堆和栈的区别
堆和栈的区别 一个由C/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其 操作方式类似于数据结构中的栈. 2.堆区(h ...
- CSS学习心得
CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题 外 ...
- IOS 断点下载
// // ViewController.m // UI4_断点下载 // // Created by qianfeng on 15/8/19. // Copyright (c) 2015年 ZBC. ...
- Docker镜像文件存储结构
docker相关文件存放在:/var/lib/docker目录下 镜像的存储结构主要分两部分,一是镜像ID之间的关联,一是镜像ID与镜像名称之间的关联,前者的结构体叫Graph,后者叫TagStore ...
- 用Excel制作热图(heatmap)的方法
http://jingyan.baidu.com/article/64d05a0240ec75de55f73bd8.html 利用Excel 2010及以上版本的"条件格式"--& ...