将字符串"1 2 3 4 5 6 7 8 9 10"中的数据按照“奇数在前、偶数在后”的格式进行调整c#
时间: 2024-10-03 18:02:23 浏览: 62
在 C# 中,你可以通过创建一个字符串数组,然后分别存储奇数和偶数,最后再合并它们来实现这个需求。这里是一个简单的示例:
```csharp
using System;
using System.Linq;
class Program {
static void Main() {
string input = "1 2 3 4 5 6 7 8 9 10";
string[] numbers = input.Split(' ');
var oddNumbers = numbers.Where(int.Parse).Where(num => num % 2 != 0).ToArray();
var evenNumbers = numbers.Where(int.Parse).Where(num => num % 2 == 0).ToArray();
// 检查是否有数字无法转换成整数,如果没有则可以安全地进行合并
if (oddNumbers.Length + evenNumbers.Length == numbers.Length) {
Array.Sort(oddNumbers);
Array.Sort(evenNumbers);
string result = string.Join(" ", oddNumbers) + " " + string.Join(" ", evenNumbers);
Console.WriteLine(result);
} else {
Console.WriteLine("输入字符串包含非数字字符");
}
}
}
```
这段代码首先将输入字符串分割成整数数组,然后使用 LINQ 的 `Where` 函数过滤出奇数和偶数。接着对两个数组排序,并用空格分隔后拼接回新的字符串。
阅读全文