Wątek przeniesiony 2018-12-11 09:24 z C/C++ przez Patryk27.

Program w c# który nie działa. Bardzo proszę o pomoc.

0

Witam ostatnio napisałem programik który generuje hasła i nie mam pojęcia czemu nie działa, nie ma żadnego błędu. Bardzo proszę o pomoc.

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

namespace ConsoleApp7
{
    public class Program
    {
        static void Main() { }
        public static string GetUniqueKey(int maxSize)
        {
            char[] chars = new
                 char[62];
            chars =
            "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890".ToCharArray();
            byte[] data = new byte[1];
            RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider();
            crypto.GetBytes(data);
            data = new byte[maxSize];
            crypto.GetBytes(data);
            StringBuilder result = new StringBuilder(maxSize);
            foreach (byte b in data)
            {
                result.Append(chars[b % (chars.Length)]);
            }
            return result.ToString();

        }   
    }
}
2

Uzupełnij Main()

1

Masz pustą metodę Main() tak jak pisze @Marcin.Miga
Po prostu nigdzie nie wywołujesz GetUniqueKey

1
static void Main() 
{
GetUniqueKey(69);
}

1

Musisz wywołać tę metodę, którą napisałeś z metody Main

0

Ok, już mam i wszystko działa poprawnie. Dziękuje za pomoc

0

           char[] chars = new
                char[62];
           chars =
           "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890".ToCharArray();

Alokujesz tablicę 62 znaków a potem wyrzucasz ją do śmieci tworząc nową.

Jak masz dwa razy chars = cośtam to drugie przypisanie nadpisuje pierwsze, tak samo jakbyś zrobił:

int i = 2;
i = 7;

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