今天热门
热点:

简单的代码改写,希望有人能帮一下.,代码改写希望


原代码如下:
string[] Drive()
{
      string[] tmpDrive = new string[5];
            
      int tmp = 0;

      DriveInfo[] allDrive = DriveInfo.GetDrives();
            
      foreach (DriveInfo d in allDrive)
      {           
          if (d.DriveType == DriveType.Fixed)
          {
               tmpDrive[tmp] = d.ToString() ;
               tmp++;
          }
       }

      return tmpDrive;
}

如何改写才能不用创建5个元素,而是根据动态创建TMPDRIVE数组?

就是类似于一下代码:
string[] Drive()
{
      string[] tmpDrive;   //就是这句
            
      int tmp = 0;

      DriveInfo[] allDrive = DriveInfo.GetDrives();
            
      foreach (DriveInfo d in allDrive)
      {           
          if (d.DriveType == DriveType.Fixed)
          {
               tmpDrive[tmp] = d.ToString() ;
               tmp++;
          }
       }

      return tmpDrive;
}

解决方案

DriveInfo[] allDrive = DriveInfo.GetDrives();

tmpDrive = new string[allDrive.Length];   //就是这句

用这条语句试试,可以动态改变数组arrayName的长度
Array.Resize(ref arryName, length);

楼上的正解
利用动态数组

我的使用习惯是用List<string> drivers = new List<string>();
然后转换成字符串数组 drivers.ToArray();即可。

string[] Drive()
{       
      int tmp = 0;

      DriveInfo[] allDrive = DriveInfo.GetDrives();

      string[] tmpDrive = new string[allDrive.length];
            
      foreach (DriveInfo d in allDrive)
      {           
          if (d.DriveType == DriveType.Fixed)
          {
               tmpDrive[tmp] = d.ToString() ;
               tmp++;
          }
       }

      return tmpDrive;
}

www.zrccd.nettrue/topics/20230304/774358.htmlTechArticle简单的代码改写,希望有人能帮一下.,代码改写希望 原代码如下: string[]Drive() { string[]tmpDrive=newstring[5]; inttmp=0; DriveInfo[]allDrive=DriveInfo.GetDrives(); foreach(DriveInfodinallDrive) { if(d.DriveType==Driv...

相关文章

    暂无相关文章

用户评论

大家都在看