c#学习心得(2)
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)的更多相关文章
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(二) 数据类型宽度
我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(三) 查看字段长度
我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(四) 数据类型
我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(五) 运算符
我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- 我的MYSQL学习心得(六) 函数
我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
- 我的MYSQL学习心得(七) 查询
我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
- 我的MYSQL学习心得(八) 插入 更新 删除
我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得( ...
- 我的MYSQL学习心得(九) 索引
我的MYSQL学习心得(九) 索引 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
- 我的MYSQL学习心得(十) 自定义存储过程和函数
我的MYSQL学习心得(十) 自定义存储过程和函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心 ...
随机推荐
- vue-cli3中引入图片的几种方式和注意事项
如果你是在数据中引入图片,他是从项目中引入的应该按第一种方式引入 如果不是在数据中引入图片,按第二种方式引入
- sql 映射文件
...
- MCMC&Gibbs sampling
Note of Markov Chain Monte Carlo and Gibbs Sampling : http://pan.baidu.com/s/1jHpWY1o 序:A major lim ...
- 关于2D渲染的一些小想法
原文地址 概述 . 这个项目最初的目的是为了尝试解析现有的UI编辑器(MyGUI)导出的UI布局信息,通过ImGUI还原UI渲染.但是在开发过程中,我发现可以借此实现一个编辑器,一个我不断的寻找,但始 ...
- python学习Day03
[主要内容] 1. 编码 1. 最早的计算机编码是ASCII. 美国人创建的. 包含了英文字母(大写字母, 小写字母). 数字, 标点等特殊字符!@#$% 128个码位 2**7 在此基础上加了一位 ...
- 谷歌翻译API
http://translate.google.cn/translate_a/t?client=t&text=你好&hl=zh-CN&sl=zh-CN&tl=en&am ...
- jsp操作mysql样例
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- LIBCMTD.lib与libcpmtd冲突的解决方法。
error: 1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int) ...
- Java入门基础(类)
类 在Java中表示自定义的数据类型,一个class可以是若干基本类型的组合. public class Student { public String id;//学号 public String n ...
- Rust语言Actix-web框架连接Redis数据库
Rust语言Actix-web框架连接Redis数据库 actix-web2.0终于发布了,不再是测试版本,基于actor系统再加上异步支持,使得actix-web成为了目前响应速度最快的服务器框架, ...