回答編集履歴

3

LINQ

2025/06/11 13:06

投稿

TN8001
TN8001

スコア10093

test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  ---
28
28
 
29
- 蛇足ですがLinqの`Shuffle`も.NET10 Previewにすでに入っています。
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

使用例追加

2025/06/10 06:23

投稿

TN8001
TN8001

スコア10093

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

余計なパラメータ

2025/06/09 10:23

投稿

TN8001
TN8001

スコア10093

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#system-security-cryptography-randomnumbergenerator-shuffle-1(system-span((-0))))
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