C#找到最大的数字
这是我第一次使用c#,所以我对它不是很熟悉。我想创建一个简单的程序,找到最大的数字,如果我有用户输入3个数字。我只需要知道在代码中输入什么,因为我不是很确定 有Linq扩展方法。它适用于所有常见的数字类型(int、double等)。由于它适用于实现C#找到最大的数字,c#,numbers,C#,Numbers,这是我第一次使用c#,所以我对它不是很熟悉。我想创建一个简单的程序,找到最大的数字,如果我有用户输入3个数字。我只需要知道在代码中输入什么,因为我不是很确定 有Linq扩展方法。它适用于所有常见的数字类型(int、double等)。由于它适用于实现IEnumerable的任何类,因此它适用于所有常见容器,如数组T[],List 要使用它,您需要在C#文件的开头有using System.Linq,并且需要引用System.Core程序集。默认情况下,在新项目(C#3或更高版本)上都会执行这两项操
IEnumerable
的任何类,因此它适用于所有常见容器,如数组T[]
,List
要使用它,您需要在C#文件的开头有using System.Linq
,并且需要引用System.Core
程序集。默认情况下,在新项目(C#3或更高版本)上都会执行这两项操作
您还可以使用
Math.Max(a,b)
,它只适用于两个数字。或者自己写一个方法。这也不难。使用Math.Max
:
int x = 3, y = 4, z = 5;
Console.WriteLine(Math.Max(Math.Max(x, y), z));
您可以使用该方法返回最多两个数字,例如forint
:
int Max=Math.Max(number1,Math.Max(number2,number3))
还有LINQ中的方法,您可以在任何
IEnumerable
上使用该方法,如果您的数字是a、b和c,则:
int a = 1;
int b = 2;
int c = 3;
int d = a > b ? a : b;
return c > d ? c : d;
这可能会变成一个“我们可以用多少种不同的方式来做这件事”类型的问题 我也需要找到一种方法来做到这一点,使用来自不同地方的数字,而不是在一个集合中。我确信有一种方法可以在c#中实现这一点……尽管从外观上看,我把我的语言弄糊涂了
using System;
using System.Linq;
class Program
{
static void Main(string[] args)
{
int[] numbers = { 3, 9, 5 };
int biggestNumber = numbers.Max();
Console.WriteLine(biggestNumber);
Console.ReadLine();
}
}
无论如何,我最后写了两个通用的方法来做这件事
static T Max<T>(params T[] numberItems)
{
return numberItems.Max();
}
static T Min<T>(params T[] numberItems)
{
return numberItems.Min();
}
下面是查找最大/最大数字的简单逻辑 输入:11,331111,4,0输出:1111
namespace PurushLogics
{
class Purush_BiggestNumber
{
static void Main()
{
int count = 0;
Console.WriteLine("Enter Total Number of Integers\n");
count = int.Parse(Console.ReadLine());
int[] numbers = new int[count];
Console.WriteLine("Enter the numbers"); // Input 44, 55, 111, 2 Output = "111"
for (int temp = 0; temp < count; temp++)
{
numbers[temp] = int.Parse(Console.ReadLine());
}
int largest = numbers[0];
for (int big = 1; big < numbers.Length; big++)
{
if (largest < numbers[big])
{
largest = numbers[big];
}
}
Console.WriteLine(largest);
Console.ReadKey();
}
}
}
名称空间PurushLogics
{
类Purush_BiggestNumber
{
静态void Main()
{
整数计数=0;
Console.WriteLine(“输入整数总数\n”);
count=int.Parse(Console.ReadLine());
int[]数字=新的int[计数];
Console.WriteLine(“输入数字”);//输入44、55、111、2输出=“111”
对于(int-temp=0;temp
System.Linq程序集中有最大扩展方法。@豪尔赫:不,不是。它在System.Linq
命名空间中,但在System.Core
assemblySystem中。Core是程序集,命名空间是System.Linq。如果我想把它用作windows怎么办application@Oliver:只需将结果分配给控件属性或变量,而不是将其打印到控制台:TextBox1.Text=Math.Max(Math.Max(x,y),z).ToString()
则不使用Console.WriteLine,而是将其分配给标签的文本。或者使用debug.write或trace.WriteE写入Visual Studio的输出窗口。如果希望返回的不是最大值,而是具有最大值的字段,该怎么办?因此,我可以返回“z”而不是“5”。“我只需要知道在代码“lolCheck this>中输入什么”有点难读。您可以移动表达式a>b吗?a:b
转换为助手方法。在实际代码中,您当然会使用内置方法,但对于初学者来说,了解如何自己实现Math.Max
,仍然是一种教育。
int intTest = Max(1, 2, 3, 4);
float floatTest = Min(0f, 255.3f, 12f, -1.2f);
namespace PurushLogics
{
class Purush_BiggestNumber
{
static void Main()
{
int count = 0;
Console.WriteLine("Enter Total Number of Integers\n");
count = int.Parse(Console.ReadLine());
int[] numbers = new int[count];
Console.WriteLine("Enter the numbers"); // Input 44, 55, 111, 2 Output = "111"
for (int temp = 0; temp < count; temp++)
{
numbers[temp] = int.Parse(Console.ReadLine());
}
int largest = numbers[0];
for (int big = 1; big < numbers.Length; big++)
{
if (largest < numbers[big])
{
largest = numbers[big];
}
}
Console.WriteLine(largest);
Console.ReadKey();
}
}
}