回答編集履歴
3
LINQ
test
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
---
|
28
28
|
|
29
|
-
蛇足ですがL
|
29
|
+
蛇足ですがLINQの`Shuffle`も.NET10 Previewにすでに入っています。
|
30
30
|
[Enumerable.Shuffle<TSource>(IEnumerable<TSource>) Method (System.Linq) | Microsoft Learn](https://learn.microsoft.com/ja-jp/dotnet/api/system.linq.enumerable.shuffle)
|
31
31
|
```cs
|
32
32
|
int[] values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
2
使用例追加
test
CHANGED
@@ -12,11 +12,23 @@
|
|
12
12
|
|
13
13
|
turnberryさんが初心者ということを考えると、.NET8以降を使うようにしていただいて`Shuffle`メソッドを使うのがベストです。
|
14
14
|
[Random.Shuffle メソッド (System) | Microsoft Learn](https://learn.microsoft.com/ja-jp/dotnet/api/system.random.shuffle)
|
15
|
+
```cs
|
16
|
+
int[] values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
17
|
+
Random.Shared.Shuffle(values);
|
18
|
+
```
|
15
19
|
|
16
20
|
オーバースペックだと思いますが、暗号レベルのランダム性が欲しければこちらもあります(同.NET8以降)
|
17
21
|
[RandomNumberGenerator.Shuffle<T>(Span<T>) メソッド (System.Security.Cryptography) | Microsoft Learn](https://learn.microsoft.com/ja-jp/dotnet/api/system.security.cryptography.randomnumbergenerator.shuffle)
|
22
|
+
```cs
|
23
|
+
int[] values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
24
|
+
RandomNumberGenerator.Shuffle(values.AsSpan());
|
25
|
+
```
|
18
26
|
|
19
27
|
---
|
20
28
|
|
21
29
|
蛇足ですがLinqの`Shuffle`も.NET10 Previewにすでに入っています。
|
22
30
|
[Enumerable.Shuffle<TSource>(IEnumerable<TSource>) Method (System.Linq) | Microsoft Learn](https://learn.microsoft.com/ja-jp/dotnet/api/system.linq.enumerable.shuffle)
|
31
|
+
```cs
|
32
|
+
int[] values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
33
|
+
values = values.Shuffle().ToArray();
|
34
|
+
```
|
1
余計なパラメータ
test
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
[Random.Shuffle メソッド (System) | Microsoft Learn](https://learn.microsoft.com/ja-jp/dotnet/api/system.random.shuffle)
|
15
15
|
|
16
16
|
オーバースペックだと思いますが、暗号レベルのランダム性が欲しければこちらもあります(同.NET8以降)
|
17
|
-
[RandomNumberGenerator.Shuffle<T>(Span<T>) メソッド (System.Security.Cryptography) | Microsoft Learn](https://learn.microsoft.com/ja-jp/dotnet/api/system.security.cryptography.randomnumbergenerator.shuffle
|
17
|
+
[RandomNumberGenerator.Shuffle<T>(Span<T>) メソッド (System.Security.Cryptography) | Microsoft Learn](https://learn.microsoft.com/ja-jp/dotnet/api/system.security.cryptography.randomnumbergenerator.shuffle)
|
18
18
|
|
19
19
|
---
|
20
20
|
|