`
hcyoo
  • 浏览: 21324 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

C#几个不常用的关键字

    博客分类:
  • .net
阅读更多
1、yield
yield关键字会告诉编译器当前的函数是在一个循环内部,编译器会相应生成一个执行它在循环体内部所表示行为的类,yield和return关键字一起用于为枚举器对象提供返回值,比如说:在foreach内部的每一次循环内,yield关键字用于终止当前循环:
以下为MSDN示例代码http://msdn.microsoft.com/en-us/library/9k7k7cf0.aspx
using System.Collections; 
public classList 
  { 

      public static IEnumerable Power(int number, int exponent) 
       { 
           int counter = 0; 
           int result = 1; 
           while(counter++ < exponent) 
           { 
               result = result * number; 
               yield return result; 
           } 
       } 

       static void Main() 
       { 
          foreach (int i in Power(2, 8)) 
           { 
               Console.Write("{0} ", i); 
           } 
       } 
   } 



输出:
2
4
8
16
32
64
128
256

===================================
2、using
定义一个范围,在范围外的对象将会被回收:
public static List<updatetime_model> UpdateTime(string datetime)
        {
             SqlParameter[] par = new SqlParameter[] {
                new SqlParameter("@time",datetime)
            };
            List<updatetime_model> time = null;
            [color=red]using (SqlDataReader r = SqlHelper.ExecuteReader("UpdateDate_GetTime",par))
            {
                while (r.Read())
                {
                    if (time == null)
                    {
                        time = new List<updatetime_model>();
                    }
                    time.Add(ConvertTime(r));
                }

                if (r.NextResult() && r.Read())
                {
                    lastdt = r.GetString(0);                 
                }
            }[/color]
            return time;
        }



参考链接:http://hatim.indexdev.net/2009/12/08/10-not-so-well-known-keywords-in-c/
分享到:
评论
7 楼 Cresting 2009-12-24  
using还是常看到或用到的,对一些实现了IDisposable接口的类,yield对我来说的确用的比较少的...
6 楼 Taven.Li 2009-12-19  
确实有一些很少用到的关键字
5 楼 wandou 2009-12-19  
using可是常用关键字。
4 楼 ray_linn 2009-12-18  
呵呵,yield是迭代器。
3 楼 RednaxelaFX 2009-12-17  
幸存者 写道
C#最不常用关键字候选:stackalloc, volatile, sizeof

volatile常用与否倒不一定……不过用的时候很可能代码有问题 =_=||||
unsafe、stackalloc、fixed、sizeof还有&、*、->都属于相似的“常用程度”了orz

P.S. stackalloc挺讨厌的……在VS里要打static总是被IntelliSense先忽悠到stackalloc上 T.T
2 楼 幸存者 2009-12-17  
C#最不常用关键字候选:stackalloc, volatile, sizeof
1 楼 RednaxelaFX 2009-12-17  
话说这俩关键字都挺常用的……取决于使用场景和使用者使用C#的程度。特别是如果代码里有很多需要用到除内存外的别的资源时,using语句是非常常用的。using只是调用Dispose方法而已,并不导致对象被“回收”。
yield也跟“循环”没啥直接关系。只不过大家经常用循环来遍历IEnumerable<T>所以看起来似乎跟循环有关系……|||

要说不常用的话,fixed、unsafe、extern之类的更不常用了 >_<

相关推荐

    C# 链接mysql数据库 出现 给定关键字不在字典中

    在C#编程中,连接MySQL数据库是常见的任务,但有时候可能会遇到一些问题,例如“给定关键字不在字典中”的错误。这个问题通常与使用的MySQL数据访问驱动(MySql.Data.dll)有关。以下是对这个错误的详细分析和解决...

    C# xml编辑自定义控件 关键字变色 源码

    创建自定义控件通常涉及到以下几个步骤: 1. **继承自现有控件**:在C#中,可以继承自System.Windows.Forms.Control类或其子类,如TextBox、RichTextBox等,以获取基础的控件功能。 2. **重写方法和事件**:为了...

    C#的New关键字的几种用法

    C#的New关键字的几种用法 C#语言中的New关键字是一个多功能的关键字,它有多种用法,分别是new运算符、新修饰符和new约束。下面我们将详细介绍这三种用法。 New运算符 New运算符是C#语言中用于创建对象和调用构造...

    C#常用关键字及含义.doc

    "C#常用关键字及含义" C#是一种现代的高级语言,它提供了很多种关键字来实现不同的功能。这些关键字可以分为以下几类:类型关键字、控制流关键字、异常处理关键字、类和对象关键字、访问修饰符关键字等。 类型...

    c# 关键字 微软官方文档

    此外,C#还引入了几个特殊的字面量关键字,它们分别对应于不同的常量值,如 true、false、null 和 default。还有一些其他上下文关键字,如 add、remove、get、set、value 等,它们主要出现在属性和索引器的定义中。 ...

    C#中的Internal关键字小结

    首先,理清几个概念:项目(project)、解决方案(solution)、程序集(assembly)、命名空间(namespace)。 项目(project) 就是我们开发的一个软件。.NET下,项目有多种类型,如控制台、Windows应用程序、类库...

    描述C#多线程中lock关键字的使用分析

    这可能带来的问题就是几个线程同时执行一个函数,导致数据的混乱,产生不可预料的结果,因此我们必须避免这种情况的发生。C#提供了一个关键字lock,它可以把一段代码定义为互斥段(critical section),互斥段在一个...

    C#调用一言API并提取关键字 调用2.zip

    我们将详细讲解以下几个关键点: 1. **一言API的介绍** 一言API(Hitokoto API)是为开发者设计的一个轻量级接口,用于获取各种类型的句子、成语和诗词。开发者可以通过发送HTTP请求来获取特定类型或随机的文本内容...

    基于C#的词法分析关键字识别与变色.zip

    1. **正则表达式**:在C#中,常用正则表达式来定义和匹配不同的符号类别,如关键字、数字、字符串等。 2. **状态机**:词法分析通常使用有限状态自动机(Finite State Automaton, FSA)的概念,通过改变状态来识别...

    C#的New关键字的几种用法收藏

    **C#的New关键字详解** `C#`中的`new`关键字有着多种用途,它在编程中扮演着重要角色。本文将详细介绍`new`关键字的三种主要用法:`new`运算符、`new`修饰符以及`new`约束。 **1. `new`运算符** `new`运算符的...

    C#常用代码(个人收集)

    在C#中,常用的知识点包括但不限于以下几个方面: 1. **基础语法**:C#是一种类型安全的面向对象的语言,它支持类、接口、结构等面向对象特性。基础语法包括变量声明、数据类型(如int、string、bool等)、运算符、...

    C#常用c#c#c#c#

    从这部分内容中,我们可以提炼出与C#编程语言相关的几个关键知识点进行详细解释。 ### C# 中的 yield 关键字 在 C# 语言中,`yield` 是一个非常有用的特性,它允许迭代器方法返回一系列值而不是单一值。`yield ...

    C#基础教程C# C# C# C#

    在学习C#的过程中,你需要掌握以下几个关键知识点: 1. **基本语法**:C#的语法结构与C++和Java相似,包括变量声明、数据类型(如int、string、bool等)、运算符、控制流(if-else、switch-case、for、while等)和...

    C#面试基础题(几个基本的面试题 但很多人不是很清楚)

    ### C#基础知识详解 #### 一、CLR与CTS解析 **CLR**(Common ...以上内容总结了C#面试中常见的几个基础知识点,对于初学者来说非常重要。了解这些基础知识有助于更好地理解和掌握C#语言的核心概念和技术要点。

    .net(c#)中的new关键字详细介绍

    考虑以下几个问题: 1、new一个class对象和new一个struct或者new一个enum有什么不同?  答:new一个class时,new完成2个内容:一是调用newobj命令为实例在托管堆中分配内存,二是调用构造函数实现对象初始化。  ...

    C#编程几个典型实例

    接口在C#中是一种完全抽象的类型,它定义了一组方法的签名,但不包含任何实现。通过实现接口,类可以承诺提供这些方法的实现,这使得不同类之间可以共享相同的公共行为,即使它们之间没有继承关系。例如,我们可以...

    C#.NET自定义的几个Snippet

    本主题将详细介绍在"C#.NET自定义的几个Snippet"中涉及的几个关键知识点: 1. **单元测试函数(Unit Test Function)**:`testFunction.snippet`可能包含了用于创建单元测试的方法模板。在C#.NET中,我们通常使用如...

    C#网络编程实例--几个适用的程序源码

    这个实例集合提供了几个实用的C#程序源码,对于初学者来说是非常有价值的资源。通过学习和实践这些代码,你可以更好地理解和掌握C#网络编程的核心概念。 首先,C#中的网络编程主要基于.NET Framework或.NET Core的...

    c#实现几种排序算法,并输出关键字比较次数和交换次数

    在C#中实现这些排序算法,并统计关键字比较次数和交换次数,有助于程序员更好地评估算法效率,选择最合适的排序方法。同时,这也是学习数据结构和算法的重要实践环节,能提升编程技能和解决问题的能力。在实际项目中...

    c#sample c#sample

    基于这些信息,我们可以深入探讨以下几个C#和Silverlight分页相关的知识点: 1. **C#基础**:了解C#的基本语法、数据类型、控制流(如循环、条件语句)、类与对象、接口、继承、多态等面向对象编程的核心概念。 2....

Global site tag (gtag.js) - Google Analytics