Это код с помощью LINQ, он хранит значения в спискеМогу ли я сохранить результат запроса LINQ в массиве?
string StringRegex = "\"(?:[^\"\\\\]|\\\\.)*\"";
Dictionary<string, string> dictionaryofString = new Dictionary<string, string>()
{
{"String", StringRegex}
};
var matches = dictionaryofString.SelectMany(a => Regex.Matches(input,a.Value)
.Cast<Match>()
.Select(b =>
new
{
Index = b.Index,
Value = b.Value,
Token = a.Key
}))
.OrderBy(a => a.Index).ToList();
for (int i = 0; i < matches.Count; i++)
{
if (i + 1 < matches.Count)
{
int firstEndPos = (matches[i].Index + matches[i].Value.Length);
if (firstEndPos > matches[(i + 1)].Index)
{
matches.RemoveAt(i + 1);
i--;
}
}
}
foreach (var match in matches)
{
Console.WriteLine(match);
}
Может не быть сохранены в массиве? Где я могу отобразить только элемент, который я хочу. Точно так же, как здесь, вывод: {Index =, Value =, Token =} Между тем я хочу, чтобы результат, который имел только индекс «Знак», «Токен» не нужен.
Это первый раз, когда я с помощью функции ToList. И не может управлять выходом. Например, текущий вывод равен {Index = 0, Value = "asd", Token = String "} Я хочу, чтобы результат был:« asd »Token – Ali
Я обновил свой ответ. –
Marko, он работал, но он только показывает поле значений, может ли оно быть объединено с полем токенов тоже? – Ali