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());
}
}

  

最新文章

  1. 《Entity Framework 6 Recipes》中文翻译系列 (33) ------ 第六章 继承与建模高级应用之TPH与TPT (2)
  2. Ubuntu16.04安装vim插件YouCompleteMe
  3. Fragment的生命周期(三)
  4. MVC 知识点学习2
  5. using关键字背后的故事!
  6. GDB调试器
  7. 通过FileWatcher,监听通过web上传的图片,并进行压缩
  8. php 技巧、高效率写法 推荐(转载+总结)
  9. GridFS
  10. mysql 在创建批处理脚本日志表信息
  11. lpr
  12. 在IOS中使用DES算法对Sqlite数据库进行内容加密存储并读取解密
  13. python的request包
  14. 2018-2019-2 《网络对抗技术》Exp2 后门原理与实践
  15. 2-Fourteenth Scrum Meeting-20151214
  16. 关于时间查询的sql语句
  17. Swift-Swift的Singleton三种写法
  18. 软银集团和共享办公空间公司WeWork在日本成立合资公司
  19. 2017 Multi-University Training Contest - Team 3 RXD and functions(NTT)
  20. HDU 5033 Building (维护单调栈)

热门文章

  1. 获取PHP类的所有属性和所有方法,可通过反射机制
  2. linux 移动复制删除
  3. 如何快速安装kafka-manager
  4. C++ 类模板详解(一):概念和基本使用方式
  5. HDU_2571_DP
  6. WeChall_Enlightment (Encoding)
  7. php扩展模块的安装
  8. Mysql索引优化简单介绍
  9. Sklearn——SVC学习笔记(图像分割)
  10. Centos 7 主要命令改动 service chkconfig iptables