首页 > 解决方案 > 如何为循环的每次迭代运行一个函数?

问题描述

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

namespace AI_practice
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Enter target string...");
            string targetString = Console.ReadLine();
            int targetStringLength = targetString.Length;
            Console.WriteLine("Enter Population size...");
            int popSize = Convert.ToInt16(Console.ReadLine());
            string[] pool = new string[popSize];         

            int i = 0;
            do
            {
                string populationPool = RandomStringGenerator(targetStringLength);
                Console.WriteLine(pool[i] = populationPool);
                i++;                              
            }
            while (i < popSize);

            Console.ReadKey();
        }

        static string RandomStringGenerator(int targetStringLength)
        {
            var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
            var stringChars = new char[targetStringLength];
            var random = new Random();

            for (int i = 0; i < stringChars.Length; i++)
            {
                stringChars[i] = chars[random.Next(chars.Length)];
            } 

            var finalString = new String(stringChars);
            return finalString;        
        }
    }
}

我的代码旨在运行该函数并将结果输入到数组中。它旨在生成一组随机创建的字符串,但此代码的输出是多次输出的相同字符串。如何确保输出的字符串都是随机生成的?

标签: c#arraysloopsiterationgenetic-algorithm

解决方案


推荐阅读