none
C#中 “[ ] ” 的使用 RRS feed

  • 问题

  • C#中 “[   ] ” 的使用。
    在class和方法前面有时候会看到[]括起来的东西,这个是什么,用法是怎样的?能否详细说明
    • 已编辑 lpc76 2010年1月3日 13:51
    2010年1月2日 9:30

答案

  • 你好!
         这个是属性(Attribute)定义,在MSDN的标准文档中有时翻译成属性,但是这样和属性(Property)产生了一定的混淆,所以常常翻译成特性,你可以这样来理解这个概念:
         实际上就是给类或方法等添加了某些标识或信息,在应用反射的时候会利用到这些信息!
         具体可以参考:
    http://msdn.microsoft.com/zh-cn/library/z0w1kczw.aspx
         希望这个解释对你有帮助!
    周雪峰
    2010年1月2日 12:42
    版主

全部回复

  • "索引器"可以用类似于数组的方式为对象建立索引
    class SampleCollection<T>
    {
        private T[] arr = new T[100];
        public T this[int i]
        {
            get
            {
                return arr[i];
            }
            set
            {
                arr[i] = value;
            }
        }
    }

    // This class shows how client code uses the indexer
    class Program
    {
        static void Main(string[] args)
        {
            SampleCollection<string> stringCollection = new SampleCollection<string>();
            stringCollection[0] = "Hello, World";
            System.Console.WriteLine(stringCollection[0]);
        }
    }

    2010年1月2日 10:01
  •  [Serializable()]
        public static class Class1
        {


    不知楼主描述的是否是这样,

    这样表示这个类是可以被序列化的,

    类似的还有很多, 是用来表示类的特性.
    2010年1月2日 11:32
  • 你好!
         这个是属性(Attribute)定义,在MSDN的标准文档中有时翻译成属性,但是这样和属性(Property)产生了一定的混淆,所以常常翻译成特性,你可以这样来理解这个概念:
         实际上就是给类或方法等添加了某些标识或信息,在应用反射的时候会利用到这些信息!
         具体可以参考:
    http://msdn.microsoft.com/zh-cn/library/z0w1kczw.aspx
         希望这个解释对你有帮助!
    周雪峰
    2010年1月2日 12:42
    版主
  • 有用,谢谢!
    2010年1月3日 13:50
  • 不客气啊!
    周雪峰
    2010年1月3日 14:52
    版主
  • 你好,我们在做界面的时候,经常给某个组件定义一些属性,这些都是可视化定义。但是类或者方法就没有这些“可视化”的熟悉界面,因此,如果需要给这个类定义一些属性,就使用“[]”符号。
    2010年1月4日 10:54
    版主
  • 这里的[]是C#的特性的用法!和属性是完全不同的概念!

    2010年11月25日 7:52
  • 这里的[]是C#的特性的用法!和属性是完全不同的概念!


    是的 周版主给你的解释是对的

    Raymond Tang (Microsoft C# MVP)
    Denn Ich Gehoer nur mir
    .NET交流群71840452
    微软中文论坛同城社区成都QQ群:74268428
    My Chinese Blog
    Chengdu,Sichuan Province,China
    2010年11月25日 7:59
    版主