1. Держи екстеншен, который я только что написал (протестировал его, чтобы вёл себя почти как string.Split)
Код, конечно, не идеален, но работает
public static class ArrayExtensions
{
public static List<List<T>> Split<T>(this IEnumerable<T> array, T separator, IEqualityComparer<T>? equalityComparer = null)
{
equalityComparer ??= EqualityComparer<T>.Default;
var parts = new List<List<T>>();
var currentPart = new List<T>();
foreach (var element in array)
{
var isSeparator = equalityComparer.Equals(element, separator);
if (isSeparator)
{
parts.Add(currentPart);
currentPart = new List<T>();
}
else
{
currentPart.Add(element);
}
}
parts.Add(currentPart);
return parts;
}
}
2. Тогда с ним можно будет сделать так:
var array = new [] { "Привет", "меня", "зовут", "*", "Мой", "возраст", "таков" };
var parts = array.Split("*").Select(x => string.Join(' ', x)).ToArray();
var name = parts[0];
var age = parts[1];