连接(join) 将多个集合连接起来进行查询,以获得额外的条件或结果集。其实在Linq to Object中并不必要(但Linq to SQL中很常用),因为类的关联,总有一些其他办法,如:找到老师姓名为“小鱼”的课程var majors = from m in majors//以下三句join t in teacherson m.Teacher equals t //equals非常重要,不能使用 == 替代where t.Name == "小鱼"//可以被一句替代:where m.Teach ……
引入童鞋们看,这是什么?F12转到定义what?什么鬼?为什么一个定义在Enumerable上的static方法,可以被List<int>的实例调用?namespace System.Linq{public static class Enumerable{public static int Max(this IEnumerable<int> source){//...}}}背景:object集合 => 泛型集合(继承) => 扩展方法(还来一个继承???)所以引入了ex ……
foreach foreach (var item in collection){Console.WriteLine(item);}注意和for循环的区别:for循环的迭代基础是累加器和下标(i++)foreach循环的基础是迭代器的MoveNext()foreach里的item不能被赋值(assign)底层实现:为什么可以foreach?需要实现IEnumerable:该接口能返回IEnumerator:具有MoveNext()方法上述foreach实质上等于:IEnumerator<int> ……
重载(overload) 引入:两个数相加,三个数相加,四个数相加……可以使用同一个方法名,配以不同的参数“组合”(个数/类型/次序/传递方式ref)。但注意:仅是参数名不同仅是返回值不同不能认为是方法的重载。static void grow(){}//static int grow(){return -1;} //不能通过返回类型区分static void grow(int age){}static void grow(string name){}//static void grow(s ……
添加多个项目同学们接下来会有这种需求:把完成作业和随堂练习区分开来,这时候没有必要建两个solution(一个VS,一次只能开一个solution)。你可以在一个solution下面建两个项目。只需要在solution上点击右键:Add - New Project即可。solution和projectVS用solution来归纳管理projects:一个solution下可以有多个project。在文件夹中打开solution(即打开solution所在的文件夹),我们就会发现:solution对应这一个 ……
“工欲善其事必先利其器”,请允许我隆重推出宇宙最强IDE(IntegratedDevelopmentEnvironment):从此告别记事本,^_^Visual Studio需要下载安装:官网地址。我们选择免费的Community版本安装即可。版本选择Visual Studio只能安装在Windows上community为免费版,但也需要注册一个MSDN账号,否则只能有90天的试用期。通常安装时就会提示你注册,你可以当时就按提示进行注册;或者,先跳过,以后再注册VS code可安装在任意操作系统(Linu ……
元组(Tuple)最简单的数据封装,和数组不同,它可以封装不同的数据类型即可作为方法的参数,//static void enter(var student) 不能使用var,没有任何线索,无法推断//static void enter((int, string, bool) student)static void enter((int height, string name, bool gender) student){Console.WriteLine(student.name);}也可以作 ……
循环/迭代(iterate)while/do...while:int score = 0;while (score < 60){Console.WriteLine("learn...");score += 10;Console.WriteLine(score);}do{Console.WriteLine("learn...");score += 10;Console.WriteLine(score);} while (score < 60);条件断点调试和watch:数组的遍历(循环获取到所有 ……
CSS3引入了flex布局,随着CSS3被越来越多的浏览器支持,flex布局也得到了越来越多的应用。Container和Itemsflex布局的关键是理解:它首先需要一个container元素(父元素)在container中放置若干items元素(子元素)在container中可以总体上设置如何“摆放”itemsitems中也可以个体(individual)的它自己的摆放方式<div style="display:flex; /* 由此将该元素设置为flex container */">< ……