public byte[] GetRandomData(int dataSize, int byteDoneToRaiseEvent) { var rdm = new Random(); int value = rdm.Next(); if (dataSize < 0) { throw new ArgumentOutOfRangeException(nameof(dataSize)); } if (byteDoneToRaiseEvent < 0) { throw new ArgumentOutOfRangeException(nameof(byteDoneToRaiseEvent)); } var array = new byte[dataSize]; for (int i = 0; i < array.Length; i++) { array[i] = (byte)rdm.Next(); if (i % byteDoneToRaiseEvent == 0) { RandomDataGenerating?.Invoke(this, new RDG(i + 1, dataSize)); } } RandomDataGenerated?.Invoke(this, null); return(array); }
public byte[] GetRandomData(int dataSize, int bytesDoneToRaiseEvent) { if (dataSize < bytesDoneToRaiseEvent) { throw new InvalidOperationException(); } if (bytesDoneToRaiseEvent <= 0) { throw new InvalidOperationException(); } //if (bytesDoneToRaiseEvent <= dataSize) // throw new InvalidOperationException(); var random = new Random(); byte[] result = new byte[dataSize]; byte[] pack = new byte[bytesDoneToRaiseEvent]; int fullPacksCount = dataSize / bytesDoneToRaiseEvent; int lastPackSize = dataSize % bytesDoneToRaiseEvent; for (int i = 0; i < fullPacksCount; i++) { random.NextBytes(pack); pack.CopyTo(result, i * bytesDoneToRaiseEvent); RandomDataGenerated?.Invoke((i + 1) * bytesDoneToRaiseEvent, dataSize); } if (lastPackSize > 0) { random.NextBytes(pack); Array.Copy(pack, 0, result, fullPacksCount * bytesDoneToRaiseEvent, lastPackSize); } return(result); }
public byte[] GetRandomData(int dataSize, int bytesDoneToRaiseEvent) { if (dataSize <= 0) { throw new ArgumentOutOfRangeException(nameof(dataSize)); } if (bytesDoneToRaiseEvent <= 0) { throw new ArgumentOutOfRangeException(nameof(bytesDoneToRaiseEvent)); } var bytes = new byte[dataSize]; var random = new Random(); for (int i = 0; i < bytes.Length; i++) { bytes[i] = (byte)random.Next(); if (i % bytesDoneToRaiseEvent == 0) { RandomDataGenerating?.Invoke(this, new RandomDatageneraorEventArgs(i, dataSize)); } } RandomDataGenerated?.Invoke(this, null); return(bytes); }
protected virtual void OnRandomDataGenerated(object sender, RandomDataGeneratedEventArgs e) { RandomDataGenerated?.Invoke(sender, e); }