我有一些代码对我没有多大意义.我有一个字符串数组,我正在使用二进制搜索在foreach()循环中计算它们.除了排序之外,我尝试输出时的代码完全相同.我不知道为什么我得到了我得到的结果.我认为它应该只计算数组的值,两次都是相同的.有帮助吗?
码:
using System;
public class Driver {
public static void Main(string [] args) {
String [] s = {"Bob", "Jane", "Will", "Bill", "Liz"};
Console.WriteLine("Before Sorting:\n----------");
foreach(string item in s) {
Console.WriteLine("{0}. {1}", Array.BinarySearch(s, item) + 1, item);
}
Console.WriteLine("Will is at position {0}", Array.BinarySearch(s, "Will") + 1);
Console.WriteLine("\n\nAfter Sorting:\n----------");
Array.Sort(s);
foreach(string item in s) {
Console.WriteLine("{0}. {1}", Array.BinarySearch(s, item) + 1, item);
}
Console.WriteLine("Will is at position {0}", Array.BinarySearch(s, "Will") + 1);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
Before Sorting:
----------
1. …Run Code Online (Sandbox Code Playgroud) c# ×1