none
關於array RRS feed

  • 问题

  • http://msdn.microsoft.com/zh-cn/library/system.array(v=VS.90).aspx

    语法

    [SerializableAttribute]
    [ComVisibleAttribute(true)]
    public ref class Array abstract : ICloneable, 
    	IList, ICollection, IEnumerable

    示例

    using namespace System;
    void main1();
    void main2();
    void main()
    {
       main1();
       Console::WriteLine();
       main2();
    }
    
    void PrintValues( array<Object^>^myArr );
    void PrintValues( array<int>^myArr );
    void main1()
    {
       // Creates and initializes a new int array and a new Object array.
       array<int>^myIntArray = {1,2,3,4,5};
       array<Object^>^myObjArray = {26,27,28,29,30};
    
       // Prints the initial values of both arrays.
       Console::WriteLine(  "Initially," );
       Console::Write(  "int array:   " );
       PrintValues( myIntArray );
       Console::Write(  "Object array:" );
       PrintValues( myObjArray );
    
       // Copies the first two elements from the int array to the Object array.
       System::Array::Copy( myIntArray, myObjArray, 2 );
    
       // Prints the values of the modified arrays.
       Console::WriteLine(  "\nAfter copying the first two elements of the int array to the Object array," );
       Console::Write(  "int array:   " );
       PrintValues( myIntArray );
       Console::Write(  "Object array:" );
       PrintValues( myObjArray );
    
       // Copies the last two elements from the Object array to the int array.
       System::Array::Copy( myObjArray, myObjArray->GetUpperBound( 0 ) - 1, myIntArray, myIntArray->GetUpperBound( 0 ) - 1, 2 );
    
       // Prints the values of the modified arrays.
       Console::WriteLine(  "\nAfter copying the last two elements of the Object array to the int array," );
       Console::Write(  "int array:   " );
       PrintValues( myIntArray );
       Console::Write(  "Object array:" );
       PrintValues( myObjArray );
    }
    
    void PrintValues( array<Object^>^myArr )
    {
       for ( int i = 0; i < myArr->Length; i++ )
       {
          Console::Write(  "\t{0}", myArr[ i ] );
    
       }
       Console::WriteLine();
    }
    
    void PrintValues( array<int>^myArr )
    {
       for ( int i = 0; i < myArr->Length; i++ )
       {
          Console::Write(  "\t{0}", myArr[ i ] );
    
       }
       Console::WriteLine();
    }
    
    
    /* 
     This code produces the following output.
    
     Initially,
     int array:       1    2    3    4    5
     Object array:    26    27    28    29    30
     After copying the first two elements of the int array to the Object array,
     int array:       1    2    3    4    5
     Object array:    1    2    28    29    30
     After copying the last two elements of the Object array to the int array,
     int array:       1    2    3    29    30
     Object array:    1    2    28    29    30
     */
    

    問題有3個

    1.為什麼語法中的 Array 是大寫, 示例中的 array 是小寫, 這不是兩個不同的標識符嗎?

    2.語法 那一欄是什麼意思, 是不是array類的聲明? 

    3.語法 那一欄的是什麼語言?

    求高人解答~

    2012年4月2日 7:15

答案

  • horaintom你好!

    1-〉Array类提供创建、操作、搜索和排序数组的方法,因而在公共语言运行库中用作所有数组的基类。而array关键字允许创建一个动态数组这些公共语言运行库分配

    2-〉语法中是Array类的声明。

    3-〉语法和实例都是使用的C++/CLI语言。

    希望我的回复对你有所帮助!
    祝你好运!


    Helen Zhao [MSFT]
    MSDN Community Support | Feedback to us

    • 已建议为答案 Helen Zhao 2012年4月12日 1:30
    • 已标记为答案 Helen Zhao 2012年4月16日 7:21
    2012年4月4日 2:27
  • horaintom你好!

    1-〉ComVisibleAttribute控制程序集中个别托管类型、成员或所有类型对 COM 的可访问性。true表示可访问。

    2-〉冒号表示继承

    3-〉因为Array继承实现了多个接口,所以接口之间用逗号隔开。

    祝你好运!


    Helen Zhao [MSFT]
    MSDN Community Support | Feedback to us

    • 已建议为答案 Helen Zhao 2012年4月12日 1:30
    • 已标记为答案 Helen Zhao 2012年4月16日 7:21
    2012年4月10日 1:57

全部回复

  • horaintom你好!

    1-〉Array类提供创建、操作、搜索和排序数组的方法,因而在公共语言运行库中用作所有数组的基类。而array关键字允许创建一个动态数组这些公共语言运行库分配

    2-〉语法中是Array类的声明。

    3-〉语法和实例都是使用的C++/CLI语言。

    希望我的回复对你有所帮助!
    祝你好运!


    Helen Zhao [MSFT]
    MSDN Community Support | Feedback to us

    • 已建议为答案 Helen Zhao 2012年4月12日 1:30
    • 已标记为答案 Helen Zhao 2012年4月16日 7:21
    2012年4月4日 2:27
  • 語法 那一欄裡面, 

    [SerializableAttribute] [ComVisibleAttribute(true)]

    1.中括號用途是什麼?

    public ref class Array abstract : ICloneable,

    IList, ICollection, IEnumerable

    2.冒號的用途是什麼?

    3.為什麼結尾沒有分號?

    謝謝~

    2012年4月5日 0:57
  • horaintom你好!

    1-〉ComVisibleAttribute控制程序集中个别托管类型、成员或所有类型对 COM 的可访问性。true表示可访问。

    2-〉冒号表示继承

    3-〉因为Array继承实现了多个接口,所以接口之间用逗号隔开。

    祝你好运!


    Helen Zhao [MSFT]
    MSDN Community Support | Feedback to us

    • 已建议为答案 Helen Zhao 2012年4月12日 1:30
    • 已标记为答案 Helen Zhao 2012年4月16日 7:21
    2012年4月10日 1:57
  • [ComVisibleAttribute(true)]

    我是問中括號, 也就是把ComVisibleAttribute(true)括起來的方括號[ ]的用途是什麼?

    謝謝~

    • 已建议为答案 Helen Zhao 2012年4月12日 1:30
    • 取消建议作为答案 Helen Zhao 2012年4月12日 1:30
    2012年4月11日 1:20
  • 什么什么用途,就是这样用的。

    [SerializableAttribute] 说明可序列这个属性。

    [ComVisibleAttribute(true)]说明可访问性。

    请你找本C++的书,好好的学习基础。


    Please mark this reply as answer if it helps you! Thanks for your cooperation! Good Luck to you.

    2012年4月11日 7:21