【读书笔记】《深入理解c#》(1)
来源:互联网 发布:java excel 合并 编辑:程序博客网 时间:2024/06/05 17:42
写在前面:
大学的c#选修课没有讲语法课,直接asp.net 之类的,我觉得不太好。所以我最近在看这本书,深入学习。
在博文我会放一些书中的代码和对于我来说没见过或者很生疏的东西。
就当是批注之类的。
------------------------------------------------------
第一章
1.Readonly(c#4)
例子:
using System.Collection.Generic;
public class Project{
readonly string name; //外界不可以设置name值
public string Name{get{return name;}
}
}
知识点:
readonly ->const 对象构造函数运行完后,readonly修饰的值就不能再更改
他们的区别:详细在 http://www.cnblogs.com/csharp4/archive/2010/07/10/1774794.html
constreadonly1.static类型,类访问对象访问2.声明初始化 构造函数里初始化
3.只能在声明时,赋值一次在构造时可以赋值多次4.类中可以当局部变量不可以5.适用于类似于int之类的变量类型可以适用复杂类型datetime------------------------------------------------------------------------------------------------------------------------
2.lambda
例子:
(1)list<T> 按照T里面的某个元素进行排序输出 c#3
List<Project>products=Product.GetSampleProducts();
foreach (Product product in Products.OrderBy(p=>p.name))//存在一个拓展方法
{
}
(2)查询 价格高于10 c#3
List<Project>products=Product.GetSampleProducts();
foreach (Product product in Products.Where(p=>p.price>10))//存在一个拓展方法
{
}
(3)查询未知的值
List<Project>products=Product.GetSampleProducts();
foreach (Product product in Products.Where(p=>p.price==null))//存在一个拓展方法
{
}
知识点:
https://baike.baidu.com/item/Lambda%E8%A1%A8%E8%BE%BE%E5%BC%8F=> 叫做 goes to
似乎跟委托函数有关,委托函数还没学过(……),后面会仔细讲委托函数的,
先总结一些方法
列表.orderby(p=>p.类中变量) 按照类中的变量排序的列表
对象 .where(p=>关于类中变量的bool关系式) 符合关系式元素组成的列表
*注意不能直接用,作者说会在第十章讲
--------------------------------------------------------------------------------------------------------------------------
3.linq
知识点:
总结:
1.初始化
var query = fromitem in 列表/集合 //var 没有指定类型,query是一个集合
join value in 列表2
on item.id equals value.id
where 条件
groupitem by item.Lengthinto lengthGroups //按照属性分类
orderby lengthGroups.Key //排序
select lengthGroups; //一个集合
2.应用
foreach (var thing in query)
{
}
-----------------------------------------------------------------------------------------------4.com
用com技术导入excel
var app=new Application{Visible=false;} //创建新的应用
Workbook workbook=app.Workbook.Add(); //增加新的工作簿
Worksheet worksheet=app.ActiveSheet;//新的表格
int row=1;
foreach(var product in products)
{
worksheet.cell[row,1].Value=product.name;
worksheet.cell[row,2].Value=product.price;
row++;
} //录入名字和价格
workbook.SaveAs(Filename:" .xls",FileFormat:XlFileFormat.xlWorkboolNormal);//存取
app.Application.Quit();
阅读全文
0 0
- 【读书笔记】《深入理解c#》(1)
- 《深入理解计算机系统》读书笔记(1)
- 深入理解计算机系统-读书笔记(1)
- 《深入理解计算机系统》读书笔记1
- 读书笔记(1)深入理解计算机系统
- 深入理解计算机系统(读书笔记)
- 深入理解计算机系统(读书笔记)
- 深入理解计算机系统(读书笔记)
- 《深入理解Linux内核》读书笔记第一章 绪论(1)
- 《深入理解Linux内核》读书笔记 第一章 绪论(1) .
- 深入理解计算机读书笔记1(计算机组成)
- 深入理解linux内核读书笔记1--系统启动
- 《深入理解LINUX网络内幕》读书笔记1
- 《深入理解计算机系统》读书笔记1---计算机系统漫游
- 《深入理解Java虚拟机》读书笔记1
- 《深入理解java虚拟机》----读书笔记1
- 深入理解Java虚拟机--读书笔记1/3
- 《深入理解Nginx》读书笔记1:架构设计
- Android_简易照相机
- C++学习笔记——流类库
- jqgrid单元格的内容过长时,用省略号的形式表示
- 使用合适的CSS优化界面:translate和top/left的比较
- scipy.spatial.distance.cdist
- 【读书笔记】《深入理解c#》(1)
- NOI 2018—遥远的梦
- MySQL入门之触发器
- 看图理解HBase
- 从emacs安装理解windows的PATH
- tcp四次挥手中LAST_ACK状态一般持续多久?
- STM32F103mini基础知识归纳
- 线程间通讯的机制——Hanlder
- 1047. Student List for Course (25)