首页 > 技术文章 > .Net 5 在函数中使用Lambda

yushihua 2022-01-11 12:29 原文

 1 using System;
 2                     
 3 public class Program
 4 {
 5     public static string CardinalToOrdinal(int number)
 6     {
 7         switch(number)
 8         {
 9             case 11:
10             case 12:
11             case 13:
12                 return $"{number}th";
13             default:
14                 int lastDight = number %10;
15                 string suffix = lastDight switch
16                 {
17                     1 => "st",
18                     2 => "nd",
19                     3 => "rd",
20                     _ => "th"
21                 };
22                 return $"{number}{suffix}";
23         }
24     }
25     
26     public static int FibFunctional( int term) =>
27         term switch
28         {
29             1 => 0,
30             2 => 1,
31             _ => FibFunctional(term-1) + FibFunctional(term-2)
32         };
33     
34     public static void RunFibfunctional()
35     {
36         for(int i = 1;i <= 30;i++)
37         {
38             Console.WriteLine("The {0} term of the Fibonacci sequence is {1:N0}.",
39                 arg0:CardinalToOrdinal(i),
40                 arg1:FibFunctional(term:i));
41         }
42     }
43     
44     
45     public static void Main()
46     {
47         RunFibfunctional();
48     }
49 }

 

推荐阅读