浙江省高等学校教师教育理论培训

微信搜索“毛凌志岗前心得”小程序

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
C#中要使用foreach需要实现什么接口或类
悬赏分:10 - 解决时间:2007-12-10 16:07
C#中要使用foreach需要实现什么接口或类
问题补充:2) 能用foreach遍历访问的对象需要实现 ______________接口或声明______________方法的类型。
这个题目该怎样答?
提问者: james_zhi - 助理 二级
最佳答案
能用foreach遍历访问的对象必须是集合或数组对象,而这些都是靠实现超级接口IEnumerator或被声明 GetEnumerator 方法的类型。
 
Array..::.Clone Method

A shallow copy of an Array copies only the elements of the Array, whether they are reference types or value types, but it does not copy the objects that the references refer to. The references in the new Array point to the same objects that the references in the original Array point to.

In contrast, a deep copy of an Array copies the elements and everything directly or indirectly referenced by the elements.

The clone is of the same Type as the original Array.

This method is an O(n) operation, where n is Length.

 

 

Array..::.CopyTo Method

Copies all the elements of the current one-dimensional Array to the specified one-dimensional Array.

  Name Description
Public methodSupported by the .NET Compact FrameworkSupported by the XNA Framework CopyTo(Array, Int32) Copies all the elements of the current one-dimensional Array to the specified one-dimensional Array starting at the specified destination Array index. The index is specified as a 32-bit integer.
Public method CopyTo(Array, Int64) Copies all the elements of the current one-dimensional Array to the specified one-dimensional Array starting at the specified destination Array index. The index is specified as a 64-bit integer.

 

using System;

public class JaggedArray
{
   public static void Main()
   {
      // 声明一个锯齿型数组,该数组有两个元素
      int[][] myArray = new int[2][];

      // 其中第一个元素是一个含有五个元素的数组
      // 初始化myArray[0]
       myArray[0] = new int[5] {1,3,5,7,9};

       
      // 其中第二个元素是一个含有4个元素的数组
      // 初始化myArray[1]
       myArray[1] = new int[4] {0, 2, 4, 6};

      // 逐一打印出数组的数组中所有的元素
      for (int i=0; i < myArray.Length; i++)
      {
          Console.Write("第({0})个数组: ", i);

          // 打印一维数组中的元素
          for (int j=0; j < myArray[i].Length; j++)
          {
              Console.Write("{0} ", myArray[i][j]);
          }

          Console.WriteLine();
        
   }   Console.Read();
   }
}

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace toshiba_test
{
 enum Days{Mon=1,Tue=6,Wen=9,Thu,Fri,Sat,Sun}
 class Program
 {
  static void Main(string[] args)
  {
   Days d = Days.Fri;
   Console.WriteLine(d);
   Console.WriteLine(d.ToString());
   Console.WriteLine(d.ToString("D"));
   Console.WriteLine(d.ToString("G"));
   Console.WriteLine(d.ToString("X"));
  }
 }
}

 

 

GC.Collect 方法

强制进行垃圾回收。
 

 class Program2
 {
  public static void Main(string[] args)
  {
   B b=new B();
   A a = b;
   a.Output();
  }
 }
 public class A
 {
  public A()
  {
   this.Output();
  }

  public virtual void Output()
  {
  }
 }
 public class B:A
 {
  private int y = 0, x = -1;
  public B()
  {
   y = -1;
   Console.WriteLine("y={0}",x);
  }
  public override void Output()
  {
   Console.WriteLine("x={0},y={1}",x,y);
  }

 }

posted on 2009-03-20 15:33  lexus  阅读(203)  评论(0编辑  收藏  举报