losowy string z okreslona liczba liter i cyfr

0

screenshot-20211125172755.png

Losuje mi string o dlugosci 8 ale potrzebuje zeby bylo dokladnie 3 litery i 5 cyfr w dowolnej kolejnosci, jak to przerobic?

        var chars = "abcdefghijklmnopqrstuvwxyz0123456789";
        var stringChars = new char[8];
        var random = new Random();
        for (int i = 0; i < stringChars.Length; i++)
        {
            stringChars[i] = chars[random.Next(chars.Length)];
        }
        var finalString = new String(stringChars);
        Console.WriteLine(finalString);
3

rozbij na dwie tablice - liter oraz cyfr i losuj X liter oraz Y cyfr i wsadzaj na losowy, nieużyty index.

0

Albo losuj do skutku:

            do
            {
                for (int i = 0; i < stringChars.Length; i++)
                {
                    stringChars[i] = chars[random.Next(chars.Length)];
                }
            } while (stringChars.Count(o => char.IsDigit(o)) != 3);
0

@kzkzg: no tak srednio to wychodzi bo np wyswietla mi sie 10 stringow i tylko ostatni jest dobre, a mi chodzi o to zeby tylko ten ostatni sie wyswietlal a te nieprawidlowo to juz nie

0

co ;D ? jakie wyświetla? było pite?
w kodzie co podalem nic sie nie wyswietla. ja tylko tego twojego fora opakowalem w dodatową petle. no ale dobra, masz tu caly kod, powiedz mi, gdzie ci sie tu cos zle wyswietla?

            var chars = "abcdefghijklmnopqrstuvwxyz0123456789";
            var stringChars = new char[8];
            var random = new Random(); ;
            do
            {
                for (int i = 0; i < stringChars.Length; i++)
                {
                    stringChars[i] = chars[random.Next(chars.Length)];
                }
            } while (stringChars.Count(o => char.IsDigit(o)) != 3);
            var finalString = new String(stringChars);
            Console.WriteLine(finalString);
0

@kzkzg: nic nie bylo pite :D po prostu jestem nowy w c# i sie ucze, zle dalem finalstringa, dziekuje za pomoc

1 użytkowników online, w tym zalogowanych: 0, gości: 1