1.foreach与IEnumerable和IEnumerator的结合使用?????

using System;
using System.Collections;
class Program
{
static void Main(string[] args)
{
TestIEnumerable test = new TestIEnumerable();
foreach (string str in test)
{
Console.WriteLine(str);
}
Console.ReadKey();
}
} class TestIEnumerable : IEnumerable
{
private string[] _item; public TestIEnumerable()
{
_item = new string[]
{
"","","",""
};
} public string this[int index]
{
get { return _item[index]; }
} public IEnumerator GetEnumerator()
{
return new EnumeratorActualize(this);
} class EnumeratorActualize : IEnumerator
{
private int index;
private TestIEnumerable _testEnumerable;
private object currentObj;
public EnumeratorActualize(TestIEnumerable testEnumerable)
{
_testEnumerable = testEnumerable;
currentObj = new object();
index = -;
} public object Current
{
get
{
return currentObj;
}
} public bool MoveNext()
{
if (index < _testEnumerable._item.Length - )
{
index++;
currentObj = _testEnumerable._item[index];
return true;
}
index = _testEnumerable._item.Length;
return false;
} public void Reset()
{
index = -;
}
}
}

2.IDisposable清除对象(接口)

using System;
using System.Collections;
public class MyClass: IDisposable
{
public MyClass()
{
Console.WriteLine("constructor");
}
~MyClass()
{
Console.WriteLine("destructor"); }
public void Dispose()
{
Console.WriteLine("implementation of IDisposable.Dispose()"); }
}
public class MainClass
{
static void Main()
{ using (MyClass MyObject = new MyClass())
//using 关键字用于创建一个对象MyObject 该对象属于MyClass类
//当代吗分支到达using代码的闭花括号时,将自动撤销该对象
{
}
}
}

  enum 枚举

GetName与Format方法

using System;

public enum LegalDoorStates
{
DoorStateOpen,
DoorStateClosed
}
class DoorController
{
private LegalDoorStates CurrentState; public LegalDoorStates State
{
get
{
return CurrentState;
}
set
{
CurrentState = value;
}
}
}
class MainClass
{
public static void Main()
{
DoorController Door;
string EnumName; Door = new DoorController(); Door.State = LegalDoorStates.DoorStateOpen;
// EnumName = LegalDoorStates.GetName(typeof(LegalDoorStates), Door.State);
EnumName = LegalDoorStates.Format(typeof(LegalDoorStates),1,"f");//g,x,d,f
Console.WriteLine(EnumName);
}
}

  CompareTo方法与检索所有枚举值

using System;

public class MainClass
{
public enum Color
{
Red = 0,
Orange,
Yellow,
Green,
Blue,
Indigo,
Violet
} static void Main()
{
Color MyColor; MyColor = Color.Green;
Console.WriteLine("{0}", MyColor.CompareTo(Color.Red));
Console.WriteLine("{0}", MyColor.CompareTo(Color.Green));
Console.WriteLine("{0}", MyColor.CompareTo(Color.Violet));//CompareTo方法 比较 Array ValueArray; ValueArray = Color.GetValues(typeof(Color));//GetValue方法返回一个包含所有枚举值的数组
foreach (Color ColorItem in ValueArray)
Console.WriteLine(ColorItem.ToString());
}
}

  

c#学习心得(2)的更多相关文章

  1. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  2. 我的MYSQL学习心得(二) 数据类型宽度

    我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  3. 我的MYSQL学习心得(三) 查看字段长度

    我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  4. 我的MYSQL学习心得(四) 数据类型

    我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...

  5. 我的MYSQL学习心得(五) 运算符

    我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  6. 我的MYSQL学习心得(六) 函数

    我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  7. 我的MYSQL学习心得(七) 查询

    我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  8. 我的MYSQL学习心得(八) 插入 更新 删除

    我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得( ...

  9. 我的MYSQL学习心得(九) 索引

    我的MYSQL学习心得(九) 索引 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  10. 我的MYSQL学习心得(十) 自定义存储过程和函数

    我的MYSQL学习心得(十) 自定义存储过程和函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心 ...

随机推荐

  1. nginx之文件配置

    nginx配置规则 nginx由受配置文件中指定的指令控制的模块组成 伪指令分为简单伪指令和块伪指令 简单的指令由名称和参数组成,这些名称和参数之间用空格分隔,并以分号(;)结尾 块指令的结构 与 简 ...

  2. c和c++中读取数据的方式总结

    目录 c 输出 printf() 输入 scanf getchar(), putchar() gets(), puts() c++ 输入 cin() getline() get() 输出 cout 最 ...

  3. 实验21:IPv6

    九.IPv6 1.IPv6(RIP) 实验目的:熟悉IPv6的配置,并经过动态路由协议RIP,使三台路由器相互通讯设备需求:3640三台实验过程: xdbr_R1#sh runipv6 unicast ...

  4. Java装箱和拆箱的基本概念及使用

    Java装箱和拆箱的基本概念及使用 要理解装箱和拆箱的概念,就要理解Java数据类型 装箱:把基本类型用它们相应的引用类型包装起来,使其具有对象的性质.int包装成Integer.float包装成Fl ...

  5. 搭建一个V 2ray的方法

    VPS构建VPN教程 (由于博客限制有些敏感词 V 2ray中间会打空格或者(删掉我)图片中的敏感词进行了马赛克处理) 关于自建VPN翻墙教程,此处是利用V 2 ray的一个VPS搭建VPN教程.便于 ...

  6. iomanip、cstring、string、sstream

    #include<iomanip>          控   制   符                             作           用                 ...

  7. WeChall_Prime Factory (Training, Math)Training: WWW-Robots (HTTP, Training)

    In this little training challenge, you are going to learn about the Robots_exclusion_standard.The ro ...

  8. 关于Icon,Image,ImageIcon的简单的对比参考

    Icon: Icon位于javax.swing包中,它是一个接口 public interface Icon,介绍为:一个小的固定大小的图片,通常用于装饰组件 有三个方法: int getIconHe ...

  9. Zabbix监控实现跨区域跨网络监控数据

    Zabbix监控实现跨区域跨网络监控数据 环境: 公司现有服务器10台,其中5台服务器有一台安装了zabbix,并且这5台服务器处于一个网络,只有一台服务器有公网ip, 另外的5台处于另一个网络,仅有 ...

  10. learn about sqlserver partitition and partition table 1

    Dear all, Let get into business, the partitions on sql server is very different with that on oracle. ...