OSDN Git Service

switch式を使用する (IDE0066)
authorKimura Youichi <kim.upsilon@bucyou.net>
Sun, 27 Mar 2022 09:29:22 +0000 (18:29 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Sun, 27 Mar 2022 09:47:12 +0000 (18:47 +0900)
OpenTween/Models/TabModel.cs
OpenTween/Twitter.cs

index 1b16ccd..8d8cd11 100644 (file)
@@ -238,23 +238,13 @@ namespace OpenTween.Models
             }
             else
             {
-                Comparison<PostClass> postComparison;
-                switch (this.SortMode)
+                Comparison<PostClass> postComparison = this.SortMode switch
                 {
-                    default:
-                    case ComparerMode.Data:
-                        postComparison = (x, y) => Comparer<string?>.Default.Compare(x?.TextFromApi, y?.TextFromApi);
-                        break;
-                    case ComparerMode.Name:
-                        postComparison = (x, y) => Comparer<string?>.Default.Compare(x?.ScreenName, y?.ScreenName);
-                        break;
-                    case ComparerMode.Nickname:
-                        postComparison = (x, y) => Comparer<string?>.Default.Compare(x?.Nickname, y?.Nickname);
-                        break;
-                    case ComparerMode.Source:
-                        postComparison = (x, y) => Comparer<string?>.Default.Compare(x?.Source, y?.Source);
-                        break;
-                }
+                    ComparerMode.Name => (x, y) => Comparer<string?>.Default.Compare(x?.ScreenName, y?.ScreenName),
+                    ComparerMode.Nickname => (x, y) => Comparer<string?>.Default.Compare(x?.Nickname, y?.Nickname),
+                    ComparerMode.Source => (x, y) => Comparer<string?>.Default.Compare(x?.Source, y?.Source),
+                    _ => (x, y) => Comparer<string?>.Default.Compare(x?.TextFromApi, y?.TextFromApi),
+                };
 
                 comparison = (x, y) =>
                 {
index 1e5eccc..2b92d22 100644 (file)
@@ -1789,18 +1789,13 @@ namespace OpenTween
         /// </remarks>
         public static string CreateProfileImageUrl(string normalUrl, string size)
         {
-            switch (size)
+            return size switch
             {
-                case "original":
-                    return normalUrl.Replace("_normal.", ".");
-                case "normal":
-                    return normalUrl;
-                case "bigger":
-                case "mini":
-                    return normalUrl.Replace("_normal.", $"_{size}.");
-                default:
-                    throw new ArgumentException($"Invalid size: ${size}", nameof(size));
-            }
+                "original" => normalUrl.Replace("_normal.", "."),
+                "normal" => normalUrl,
+                "bigger" or "mini" => normalUrl.Replace("_normal.", $"_{size}."),
+                _ => throw new ArgumentException($"Invalid size: ${size}", nameof(size)),
+            };
         }
 
         public static string DecideProfileImageSize(int sizePx)