C#基础知识记录一
C#基础知识记录一
static void Main(string[] args)
{
#region 合并运算符的使用(合并运算符??) 更多运算符请参考:https://msdn.microsoft.com/zh-cn/library/ms173224(v=vs.100).aspx
int? x = null;
//合并运算符的写法
int? y = x ?? 0;
//三元运算符的写法:
y = x == null ? 0 : x;
Console.WriteLine(y);
#endregion
#region 多维数组 参考MSDN:https://msdn.microsoft.com/zh-cn/library/2yd9wwz4(v=vs.80).aspx
//二维数组(3行3列)
int[,] array2 = new int[3, 3];
int[,] arr2 = { { 1, 2 }, { 2, 3 }, { 4, 5 } };
int[, ,] arr3 = { { { 1, 2, 3 } }, { { 2, 3, 4 } }, { { 4, 5, 6 } } };
foreach (var item in arr3)
{
Console.Write(item);
}
//三维数组:
int[, ,] array3 = new int[3, 3, 3];
//锯齿数组(更灵活的方式):
int[][] juarray = new int[3][];
juarray[0] = new int[2] { 1, 2 };
//嵌套循环锯齿数组:
for (int i = 0; i < juarray.Length; i++)
{
if (juarray[i] != null)
for (int j = 0; j < juarray[i].Length; j++)
{
Console.WriteLine("值为:{0}", juarray[i][j]);
}
}
Console.WriteLine(juarray[0][0]);
#endregion
#region 字符串正则表达式
//------基础----------------
/* 元字符: .:表示匹配除换行以外的任意字符 \b:匹配单词开始或者结束 \d:匹配数字 \s:匹配任意的空白字符
* ^ :匹配字符串的开始 $ :匹配字符串的结束
* 限定符: *:重复0次或者多次 +:重复一次或者多次 ? :重复0次或者1次 {n}:重复n次 {n,} :重复n次或者更多次
* {n,m} :重复n到m次
* 更多关于正则表达式可以参考: https://msdn.microsoft.com/zh-cn/library/system.text.regularexpressions.regex.aspx
* 或者是:http://www.cnblogs.com/youring2/archive/2009/11/07/1597786.html (写得很清楚)
*/
Regex reg = new Regex("\\d");
Console.WriteLine(reg.IsMatch("12321"));
#endregion
#region 集合 List,Queue,Stack,Dictionary ,LinkedList (链表)
//举例:
List<int> list = new List<int> { 1, 2, 3, 4, 5, 6, 7 };
list.ForEach((a) =>
{
Console.WriteLine(a);
});
//或者:
list.ForEach(delegate(int num)
{
Console.WriteLine(num);
});
//队列:
Queue<int> queue = new Queue<int>();
//向队列中添加元素:
queue.Enqueue(1); //从尾部 添加数据
int q = queue.Dequeue(); // 从头部添加
Console.WriteLine("出队:{0}", q);
//栈 Stack:
Stack stack = new Stack();
stack.Push(1); //添加
Console.WriteLine("返回栈顶元素:{0}", stack.Peek());//返回栈顶元素
/* 其它:并发集合...
以下几个为线程安全的集合:IProducerConsumerCollection<T>
,ConcurrentQueue<T>......BlockingCollection<T>
*/
#endregion
#region Linq、动态语言扩展、内存管理与指针
//linq 并行运算AsParallel
var sum = (from f in list.AsParallel() where f < 3 select f);
//动态语言:dynamic
#endregion
}
//未完待续...
C#基础知识记录一的更多相关文章
- DataBase MongoDB基础知识记录
MongoDB基础知识记录 一.概念: 讲mongdb就必须提一下nosql,因为mongdb是nosql的代表作: NoSQL(Not Only SQL ),意即“不仅仅是SQL” ,指的是非关系型 ...
- MongoDB基础知识记录
MongoDB基础知识记录 一.概念: 讲mongdb就必须提一下nosql,因为mongdb是nosql的代表作: NoSQL(Not Only SQL ),意即“不仅仅是SQL” ,指的是非关系型 ...
- sqlserver 中存储过程的基础知识记录
1.什么是存储过程? 存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令. 通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句. 2.为什么要用存储过程? 1)存储过程只在创建时进行 ...
- web开发必备-网络基础知识---记录一下
1.osi 7层网络模型 2.socket 套接字编程 PS:一个从事web开发的人来说,我们是使用http协议来和服务器来进行交互.后面会详细的分析这个过程.
- UML 类图基础知识记录
UML类图关系(泛化 .继承.实现.依赖.关联.聚合.组合) 依赖(Dependency): 关联(Association): 聚合(Aggregation): 合成(Composition): 泛化 ...
- js基础例子dom+原型+oop基础知识记录01
//oo:概念是计算机中对于现实世界的理解和抽象的方法 //由计算机利用编程技术发展到现在的产物 //面向对象几要素 //对象:由属性和方法组成的集合 //属性:保存数据,存储在对象内存空间中的唯一的 ...
- Python基础知识记录
1.去除空格 strip() 删除两边的空格.lstrip() 删除左边的空格.rstrip() 删除右边的空格 2.字符串的连接 s1='abc' s2='cdf' s3=s1+s2 pr ...
- 基础知识系列☞C#中数组Array、ArrayList和List三者的区别
数组() #region 数组 //初始化方式_0:先声明再赋值 ]; weekDays_0[] = "Sun"; weekDays_0[] = "Mon"; ...
- python核心编程学习记录之基础知识
虽然对python的基础知识有所了解,但是为了更深入的学习,要对python的各种经典书籍进行学习 第一章介绍python的优缺点,略过 第二章介绍python起步,第三章介绍python基础,仅记录 ...
随机推荐
- HTTP TCP UDP Socket 关系的几个经典图
从上图可以看到,TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层. 在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议. 在传输层中有TCP协议与UDP协议. ...
- 使用ajax.dll时js脚本错误-XXX未定义
操作系统:Windows 7 IIS:7.5 ajax.dll现在用的比较少,但是以前的项目有这个,使用的时候很容易出现这个错误,因为总是会遗漏配置. 使用ajax.dll时,js脚本错误,无法调用后 ...
- ajax传递array参数
var ticketId = new Array(); for(var i = 0; i < checkboxes.length; i++) { ticketId.push(checkboxes ...
- 移动APP项目研发流程及版本规划(转)
一个移动APP项目研发规模可大可小,但都离不开以下几个成员:产品经理.ui设计师.前端开发.后端开发.测试等.如何合理安排项目成员工作.确保项目顺利进行呢?一个清晰合理的项目研发流程控制很重要. 项目 ...
- java中方法的重写与重载的区别
重载: 方法名相同,但是参数必须有区别(参数不同可以使类型不同,顺序不同,个数不同).前提: 同一个类中,方法名相同,参数列表不同的2个或多个方法构成方法的重载 参数列表不同指参数的类型,参数的个数, ...
- TextView链接点击和长按冲突
1.重写 import android.text.Layout; import android.text.Selection; import android.text.Spannable; impor ...
- 破解压缩文件密码rarcrack
破解压缩文件密码rarcrack 常见的压缩文件格式有ZIP.RAR和7z.这三种格式都支持使用密码进行加密压缩.前面讲过破解ZIP压缩文件,可以使用fcrackzip.对于RAR和7z格式,可以 ...
- C#基础:值类型、引用类型与ref关键字
在C#中,ref的意思是按引用传递.可以参考C++: int a = 10, b = 20; void swap(int x, int y) { int temp = x; x = y; y = te ...
- sketchup
1. clean start 1. 删除中间人物 2. windows---style 3. Windows---Model Info 2. 好的建模习惯 1. 正面朝镜头 View---ToolBa ...
- Theano:LSTM源码解析
最难读的Theano代码 这份LSTM代码的作者,感觉和前面Tutorial代码作者不是同一个人.对于Theano.Python的手法使用得非常娴熟. 尤其是在两重并行设计上: ①LSTM各个门之间并 ...