• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何生成给定数值数组中不存在的数值?

c/c++ 来源:Anil 3次浏览

我有这种方法来生成新的数值,但它需要很长时间才能完成该功能。 如何快速生成随机数?如何生成给定数值数组中不存在的数值?

public int GeneratenewID(int[] OptionId) 
    { 
     Random ran = new Random(); 
     int SearchId = ran.Next(1, OptionId.Length*2); 
     if (!OptionId.Contains(SearchId)) 
     { 
      return SearchId; 
     } 
     else 
     { 
      return GeneratenewID(OptionId); 
     } 
    } 


===========解决方案如下:

这将肯定如此尝试的工作:

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

namespace ConsoleApplication4 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      int [] OptionId=new int[] 
      { 
       0, 1,4,7,3,1,37,9 
      }; 
      Program p = new Program(); 

      int a= p. GeneratenewID(OptionId); 

     } 


     public int GeneratenewID(int[] OptionId) 
     { 
      Random ran = new Random(1); 
      int number = 0; 
      for (int j = 0; j < OptionId.Length ; j++) 
      { 
       number = ran.Next(OptionId.Length); 
       if (!OptionId.Contains(number)) 
        break; 
       else 
        j--; 
      } 
      return number; 
     } 
    } 
} 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)