【C#4.0图解教程】笔记(第19章~第25章)
namespace ConsolePractice
{
class SomeClass<T1, T2>//声明一个泛型,类型参数T1,T2,也不一定要用T,可以用任意字符.
{
}
class Class2
{
static void Main()
{
var first = new SomeClass<short, int>();//构造的类型实例化
var second = new SomeClass<int, long>();//构造的类型实例化
}
}
}
|
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/2664887.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/2744821.jpg)
namespace ConsolePractice
{
class Simple
{
static public void ReverseAndPrint<T>(T[] arr)//声明一个泛型方法,作用:数组倒序
{
Array.Reverse(arr);
foreach (T item in arr)
{
Console.Write("{0},", item.ToString());
}
Console.WriteLine();
}
}
class Program
{
static void Main()
{
var intArray = new int[] { 3, 5, 7, 9, 11 };//var也可写成int[]
var stringArray = new string[] { "first", "second", "third" };
var doubleArray = new double[] { 3.567, 7.891, 2.345 };
Simple.ReverseAndPrint<int>(intArray);//调用方法
Simple.ReverseAndPrint(intArray);//由于编译器可以从方法参数中推断类型参数,我们可以省略类型参数和调用中的尖括号
Simple.ReverseAndPrint<string>(stringArray);
Simple.ReverseAndPrint(stringArray);
Simple.ReverseAndPrint<double>(doubleArray);
Simple.ReverseAndPrint(doubleArray);
Console.ReadKey();
}
}
}
|
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/3870837.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/4923765.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/5160653.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/5267061.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/5429474.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/5502124.jpg)
using System;
using System.Collections;
namespace ConsolePractice
{
class Program
{
static void Main()
{
int[] MyArray = { 10, 11, 12, 13 };//创建数组
IEnumerator IE = MyArray.GetEnumerator();//获取枚举数
while (IE.MoveNext())//移到下一项
{
int i = (int)IE.Current;//获取当前项
Console.WriteLine("{0}", i);//输出
}
Console.ReadKey();
}
}
}
|
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/7092507.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/7375430.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/8738333.jpg)
using System;
using System.Collections;
namespace ConsolePractice
{
class ColorEnumerator : IEnumerator//继承IEnumerator接口就必须实现MoveNext(),Reset()方法和Current属性
{
string[] Colors;
int Position = -1;
public ColorEnumerator(string[] theColors)//构造函数
{
Colors = new string[theColors.Length];
for (int i = 0; i < theColors.Length; i++)
{
Colors[i] = theColors[i];
}
}
public object Current
{
get
{
if (Position == -1)
{
throw new InvalidOperationException();
}
if (Position == Colors.Length)
{
throw new InvalidOperationException();
}
return Colors[Position];
}
}
public bool MoveNext()
{
if (Position < Colors.Length - 1)
{
Position++;
return true;
}
else
return false;
}
public void Reset()
{
Position = -1;
}
}
class MyColors : IEnumerable//继承了IEnumerable就必须实现GetEnumerator()方法.
{
string[] Colors = { "Red", "Yellow", "Blue" };
public IEnumerator GetEnumerator()
{
return new ColorEnumerator(Colors);
}
}
class Program
{
static void Main()
{
MyColors mc = new MyColors();
foreach (string color in mc)
Console.WriteLine(color);
Console.ReadKey();
}
}
}
|
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/8687570.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/8947671.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/9727988.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/9530834.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/9745788.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/9764601.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/10592826.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/10808981.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/10839604.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/11064339.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/11461596.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/11532873.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/11552732.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/11799369.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/12139779.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/12219605.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/12818758.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/13635579.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/14059106.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/14098434.jpg)
using System;
using System.Linq;
namespace ConsolePractice
{
class Program
{
public static void Main()
{
var groupA = new[] { 3, 4, 5, 6 };
var groupB = new[] { 4, 5, 6, 7 };
var someInts = from a in groupA
join b in groupB on a equals b
into groupAandB
from c in groupAandB//查询延续,将结果放入groupAaandB中
select c;
foreach (var a in someInts)
Console.Write("{0} ", a);
Console.ReadKey();
}
}
}
|
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/14633424.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/15518932.jpg)
using System;
using System.Linq;
using System.Collections;
namespace ConsolePractice
{
class Program
{
public static void Main()
{
int[] intArray = new int[] { 3, 4, 5, 6, 7, 9 };
var count1 = Enumerable.Count(intArray);//直接调用
var firstnum1 = Enumerable.First(intArray);//直接调用
var count2 = intArray.Count();//扩展方法调用(数组intArray作为被扩展的对象)
var firstnum2 = intArray.First();//扩展方法调用
Console.WriteLine("Count:{0},FirstNumber:{1}", count1, firstnum1);
Console.WriteLine("Count:{0},FirstNumber:{1}", count2, firstnum1);
Console.ReadKey();
}
}
}
|
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/16181624.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/16349949.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/16588210.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/16819824.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/17377060.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/17394953.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/17454780.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/17638003.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/17653681.jpg)
using System;
using System.Xml.Linq;
namespace ConsolePractice
{
class Program
{
public static void Main()
{
XDocument xd = new XDocument(
new XElement("root",
new XAttribute("color","red"),//创建时添加属性
new XAttribute("size", "large"),//创建时添加属性
new XElement("first")
)
);
Console.WriteLine(xd);//显示XML树
Console.WriteLine();//空行
XElement rt=xd.Element("root");//获取元素
XAttribute color = rt.Attribute("color");//获取属性
XAttribute size = rt.Attribute("size");//获取属性
Console.WriteLine("Color is {0}", color.Value);//显示属性值
Console.WriteLine("Size is {0}", size.Value);//显示属性值
Console.WriteLine();//空行
rt.SetAttributeValue("size", "mediun");//改变属性值
rt.SetAttributeValue("width","narrow");//添加属性,就是没有查找不到这个属性时,则添加这个属性
Console.WriteLine(xd);//显示XML树
Console.WriteLine();//空行
rt.Attribute("color").Remove();//移除属性
rt.SetAttributeValue("size", null);//移除属性,把某个属性设置为空就等于移除了.
Console.WriteLine(xd);//显示XML树
Console.ReadKey();
}
}
}
|
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/19050686.png)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/19344981.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/19359942.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/19378490.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/19400908.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/1120898.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/8628508.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/8655403.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/9385176.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/9476436.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/8516858.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/8540883.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/9597774.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/9709299.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/9743650.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/9820013.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/10101407.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/1404399.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/1432791.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/2165075.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/2756740.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/2799359.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/2826566.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/3266660.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/3811650.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/4707657.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/4764005.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/5245876.jpg)
![](http://www.cnblogs.com/zt102545/admin/b6fafb5d-9611-4bd3-ba56-2fad8ddff152_0_files/6923417.jpg)
【C#4.0图解教程】笔记(第19章~第25章)的更多相关文章
- 【读书笔记】关于《精通C#(第6版)》与《C#5.0图解教程》中的一点矛盾的地方
志铭-2020年2月8日 03:32:03 先说明,这是一个旧问题,很久很久以前大家就讨论了, 哈哈哈,而且先声明这是一个很无聊的问题,
- JavaScript高级程序设计(第三版)学习笔记22、24、25章
第22章,高级技巧 高级函数 安全的类型检测 typeof会出现无法预知的行为 instanceof在多个全局作用域中并不能正确工作 调用Object原生的toString方法,会返回[Object ...
- 【C#4.0图解教程】笔记(第9章~第18章)
第9章 语句 1.标签语句 ①.标签语句由一个标识符后面跟着一个冒号再跟着一条语句组成 ②.标签语句的执行完全如同标签不存在一样,并仅执行冒号后的语句. ③.给语句添加一个标签允许控制从代码的另一部分 ...
- 【C#4.0图解教程】笔记(第1章~第8章)
第1章 C#和.NET框架 1..NET框架的组成 .NET框架由三部分组成(严格来说只有CLR和FCL(框架类库)两部分),如图 执行环境称为:CLR(公共语言运行库),它在运行期管理程序的执行. ...
- C#4.0图解教程 - 第24章 反射和特性 – 2.特性
1.特性 定义 Attribute用来对类.属性.方法等标注额外的信息,贴一个标签(附着物) 通俗:给 类 或 类成员 贴一个标签,就像航空部为你的行李贴一个标签一样 注意,特性 是 类 和 类的成员 ...
- C#4.0图解教程 - 第24章 反射和特性 - 1.反射
24.1 元数据和反射 有关程序及类型的数据被成为 元数据.他们保存在程序集中. 程序运行时,可以查看其他程序集或其本身的元数据.一个运行的程序查看本身元数据或其他程序的元数据的行为叫做 反射. 24 ...
- 黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级)
原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级) 本章介绍的是企业库加密应用程序模块 ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- 《C#图解教程》读书笔记之五:委托和事件
本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.委托初窥:一个拥有方法的对象 (1)本质:持有一个或多个方法的对象:委托和典型的对象不同,执行委托实际上是执 ...
随机推荐
- 大数据架构师基础:hadoop家族,Cloudera产品系列等各种技术
大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让我们都反映不过来.为了能够更好的架构大数据项目,这里整理一下,供技术人员,项目经理,架构师选 ...
- leetcode@ [116/117] Populating Next Right Pointers in Each Node I & II (Tree, BFS)
https://leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/ Follow up for problem ...
- Fragment回调顺序及getActivity()为NullPointerException解决方法
Fragment回调顺序 onAttach->onCreate->onCreateView->onActivityCreated ps:最后发现经常在Fragment里面getAct ...
- Android实例-使用自定义字体文件(XE8+小米2)
结果: 1.需要修改DELPHI自身的FMX.FontGlyphs.Android.pas,复制到程序的根目录下(红色部分为修改过的). 2.字体文件从 C:\Windows\Fonts 直接拷贝到A ...
- Oracle-数据实现竖排打印
--存放重证评分的数据表create table ZZPFapache2( ZZ_datetime DATE, --时间 ZZ_zongfen INTEGER, --总分 ZZ_shiwan ...
- C++学习笔记(九):作用域和命名空间
作用域 作用域规则告诉我们一个变量的有效范围,它在哪儿创建,在哪儿销毁(也就是说超出了作用域).变量的有效作用域从它的定义点开始,到和定义变量之前最邻近的开括号配对的第一个闭括号.也就是说,作用域由变 ...
- iOS开发 autoResizingMask使用
autoResizingMask 是UIView的一个属性,在一些简单的布局中,使用autoResizingMask,可以实现子控件相对于父控件的自动布局. autoResizingMask 是UIV ...
- NUMBER_GET_NEXT
1. SNRO /SNUM创建一个流水号对象 CALL FUNCTION 'NUMBER_RANGE_ENQUEUE' EXPORTING OBJECT = '' EXCEPTIONS FOREIGN ...
- webservice 地址
快递查询WEB服务 http://webservice.36wu.com/ExpressService.asmx 支持上百家快递/物流查询,准确高效,所有数据均来自快递服务商.此数据返回类型进行了封装 ...
- cocos2d-x 获取图片的某像素点的RGBA颜色
转自:http://www.cnblogs.com/jaoye/archive/2013/02/19/2916501.html ccColor4B c = {, , , }; CCPoint pt = ...