c# - 扩展方法不填充数组
问题描述
我想填充随机数数组,但我想用扩展方法来做到这一点,结果我只有 500 个零。
public static IEnumerable<int> FillRandom(this IEnumerable<int> arr, int min, int max)
{
Random rndNum = new Random();
foreach (var item in arr)
{
yield return rndNum.Next(min, max);
}
}
int[] UndefinedNumbers = new int[500];
UndefinedNumbers.FillRandom(1, 100); //Executing extension method.
解决方案
你应该这样做:
public static void FillRandom(this List<int> arr,int count, int min, int max)
{
Random rndNum = new Random();
arr.Clear();
foreach (int i = 0; i < count; count++)
{
arr.Add(rndNum.Next(min, max));
}
}
List<int> temp = new List<int>();
temp.FillRandom(10, 0, 20);
推荐阅读
- javascript - 点击地图上的一个点给出错误的纬度和经度?
- django - 如何在 django 中访问表的列
- spring-boot - 在 Zuul API 网关中剥离前缀
- image-processing - 从发票中提取文本数据
- ruby-on-rails - 操作 Rails 5.0.6 上的电缆连接问题
- phpstorm - 绝对不会在 PhpStorm 终端外壳中打开任何终端
- android - 如何在框架(Framework.jar)中添加新的 API?
- apache - 在 apache guacamole 中安装无身份验证扩展后,如何添加新的 rdp 连接?
- android - 绘制带边框的工具提示
- sql - 从字符串转换“2010-10-14 12:55:13”时转换失败