如何从函数调用中检索 KeyValuePair?

How to retrieve a KeyValuePair from a function call?

我正在构建一个 returns 两个参数的函数。我了解到这可以通过

来实现
    KeyValuePair<string, int> ExtractGroup(string s, int offset, int TagLength)
    {
    .. 
    return new KeyValuePair<string, int>(part, startIndex);
    }

但是调用这个函数返回的值如何赋值给2个变量呢?

string GetPart = ExtractGroup(data.ToString(), 0 , data.ToString().Length)[1]
string GetIndex = ExtractGroup(data.ToString(), 0 , data.ToString().Length)[2]

我已经尝试并在谷歌上搜索了 2 个多小时,但还是找不到

一个KeyValuePair<,>有一个.Key和一个.Value,所以:

var pair = ExtractGroup(data.ToString(), 0 , data.ToString().Length);
var part = pair.Key;
var startIndex = pair.Value;

Tuple<,> 也是如此,只是 .Item1.Item2.