Собственно вопрос в шапке.
Есть некий массив object[]
состоящий из Guid
'ников, нужно этот массив преобразовать в string[]
.
Пробовал так:
var strings = objects as string[];
Но получил null
.
Есть какой-то способ избежать цикла и скастить всё это сразу?
Метод: Array.ConvertAll
- преобразует массив одного типа в массив другого типа.
object[] inputArray = new object[] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() };
string[] resultArray = Array.ConvertAll(inputArray, x => x?.ToString() ?? string.Empty);
Ссылка на источник: Converting a Object[] array to an string[] array in C# (ConvertAll method)
string ConvertObjectToString(object obj)
{
return obj?.ToString() ?? string.Empty;
}
object[] input = new object[] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() };
string[] result = Array.ConvertAll<object, string>(input, ConvertObjectToString);
Ссылка на источник: Converting a Object[] array to an string[] array in C# (Array.ConvertAll Method)
var strings = objects.Select(x => x?.ToString()).ToArray();
Вариант №1
var objects = new Object[3] { Guid.NewGuid().ToString("D"), Guid.NewGuid().ToString("D"), Guid.NewGuid().ToString("D") };
var strings = objects.Cast<String>();
Вариант №2
var MyObjects = new Object[3] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() };
var MyStrings = MyObjects.Cast<Object, String>();
public static IEnumerable<TResult> Cast<TInput, TResult>(this IEnumerable<TInput> source)
{
return source.CastIterator<TInput, TResult>();
}
public static IEnumerable<TResult> CastIterator<TInput, TResult>(this IEnumerable<TInput> source)
{
return source.ExpressionToFunc<TInput, TResult>();
}
public static IEnumerable<TResult> ExpressionToFunc<TInput, TResult>(this IEnumerable<TInput> source)
{
foreach (var obj in source)
{
var exp = Expression.Constant(obj.ToString());
var type = Expression.TypeAs(exp, typeof(TResult));
var compile = Expression.Lambda<Func<TResult>>(type).Compile();
yield return compile();
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Суть проблемы: при загрузке формы выполнялся запрос на выборку из таблицы на большое кол-во записей и при открытии формы ничего не появлялось...
Разбираюсь в не своем коде, там много обращений в БД(MS SQL SERVER) с использованием generic репозитория и много очень запутанного кода(поэтому его...