C# 找出string[]对应值的位置
时间: 2023-09-23 07:13:04 浏览: 98
你可以使用 Array.IndexOf 方法来查找一个字符串数组中某个字符串的位置,示例代码如下:
```csharp
string[] array = { "apple", "banana", "orange", "grape" };
string searchValue = "orange";
int index = Array.IndexOf(array, searchValue);
if (index >= 0)
{
Console.WriteLine($"The index of {searchValue} is {index}");
}
else
{
Console.WriteLine($"{searchValue} not found in the array");
}
```
运行结果:
```
The index of orange is 2
```
相关问题
c#已知dictionary的值,如何获取到对应的键
在C#中,如果你有一个Dictionary并想要通过其值来获取对应的键,你可以使用`Dictionary<TValue, TKey>.TryGetValue`方法。这个方法接收一个值作为参数,并尝试找到该值关联的键。如果找到,则返回键;如果没有找到,或者值不存在于字典中,它会返回默认值(如果你提供了),同时不会抛出异常。
下面是一个示例:
```csharp
Dictionary<int, string> myDict = new Dictionary<int, string> { { 1, "One" }, { 2, "Two" } };
string valueToFind = "One";
int keyValue;
if (myDict.TryGetValue(valueToFind, out keyValue))
{
Console.WriteLine($"Found key with value '{valueToFind}'. Key is: {keyValue}");
}
else
{
Console.WriteLine($"Value '{valueToFind}' not found in the dictionary.");
}
```
在这个例子中,如果valueToFind是"MyValue",程序将输出找不到对应键的信息。
c#查询字典内value对应的key
在 C# 中,如果你想通过值(Value)查询 Dictionary 内对应的所有键(Key),可以创建一个集合(如 List<T>)来存储找到的键,并结合 `foreach` 循环遍历整个字典。下面是一个简单的示例:
```csharp
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
// 创建一个 Dictionary 示例
Dictionary<string, int> fruitsCount = new Dictionary<string, int>
{
{ "Apple", 5 },
{ "Banana", 7 },
{ "Cherry", 4 },
{ "Apple", 3 } // 同一值可能出现多次
};
// 要查询的值
int targetValue = 5;
// 存储所有匹配的键
List<string> keys = new List<string>();
foreach (KeyValuePair<string, int> kvp in fruitsCount)
{
if (kvp.Value == targetValue)
{
keys.Add(kvp.Key);
}
}
// 打印所有匹配的键
if (keys.Count > 0)
{
Console.WriteLine("Keys with value " + targetValue + ":");
foreach (string key in keys)
{
Console.WriteLine(key);
}
}
else
{
Console.WriteLine("No key found for the given value.");
}
}
}
```
这个程序会找出所有值为 `targetValue` 的键,并打印出来。如果字典中有多个相同的值,这将会返回所有对应的键。