gpt4 book ai didi

c# - 如何在数组中写入第一个负数?

转载 作者:行者123 更新时间:2023-11-30 14:05:47 24 4
gpt4 key购买 nike

我只是编程新手,所以请原谅这个“简单”的问题。

我有一个包含负数和正数的数组列表。它在 C# 中。我想在控制台上写这个数组列表中的第一个负数。怎么办?我尝试了几件事,但它写的都是负数或只写最后一个负数。第一个我写不出来有谁能帮帮我吗?

这是我的代码示例:

int[] numbers = new int[] {13, 22, -5, 94, 66, -38, 41, -79, -1, 53};
int[] firstminus = new int[1];

for (int i = 0; i < 10; i++)
{
if (numbers[i] < 0)
firstminus[0] = numbers[i];
}

Console.WriteLine(firstminus[0]);
Console.ReadLine();

最佳答案

要更正您的尝试,请在找到数字后添加一个break。这将终止循环,您将得到数组中的第一个负数。

for (int i = 0; i < 10; i++)
{
if (numbers[i] < 0)
{
firstminus[0] = numbers[i];
break;
}
}

注意两件事:

  • 不需要数组 firstminus - 最好是一个简单的 int
  • 循环运行到 10。这是一个神奇的数字。而是运行直到数组的长度。请花时间阅读:What is a magic number, and why is it bad?

所以:

int firstMinus;
for (int i = 0; i < numbers.Length; i++)
{
if (numbers[i] < 0)
{
firstminus = numbers[i];
break;
}
}

最后,如果您熟悉 linq,那么只需使用 .FirstOrDefault 即可返回集合中与谓词匹配的第一项(或类型的 default如果没有满足谓词):

var firstMinus = numbers.FirstOrDefault(i => i < 0);

关于c# - 如何在数组中写入第一个负数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53749743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com