ОтРазделить единое значение для многих в таблице C#
int BinaryTable = new int[] { 1101 };
Для
int BinaryTable = new int[] { 1,1,0,1 };
Не знаю, как изменить это правильно.
ОтРазделить единое значение для многих в таблице C#
int BinaryTable = new int[] { 1101 };
Для
int BinaryTable = new int[] { 1,1,0,1 };
Не знаю, как изменить это правильно.
Быстрый и грязный LINQ:
int value = 1101; // a bit strange representation
int[] BinaryTable = value
.ToString()
.Select(c => c - '0')
.ToArray();
Или так 13 == 1101 binary
:
int value = 13; // just an integer
int[] BinaryTable = Convert.ToString(value, 2)
.Select(c => c - '0')
.ToArray();
В случае, если вы хотите преобразовать один массив в другой массив используйте SelectMany
вместо Select
:
int[] source = new int[] {1101};
int[] BinaryTable = source
.SelectMany(value => value.ToString()
.Select(c => c - '0'))
.ToArray();
or int [] source = new int [] {13};
int[] BinaryTable = source
.SelectMany(value => Convert
.ToString(value, 2)
.Select(c => c - '0'))
.ToArray();
Вы могли бы сделать это следующим образом:
var bits = BinaryTable.Select(b =>
b.ToString().
Select(r => r == '0' ? 0 : 1))
.SelectMany(x => x);
Это работает, если вы хотите получить от
[1101,11] → [1,1,0,1, 1,1]
. Не совсем понятно, что именно вы хотите. И это решение не проверяет, что ваш ввод действительно содержит только цифры 1 и 0, так как это целое число, которое теоретически может содержать каждое число.
int[] BinaryTable = new int[] { 1101 };
List<int[]> allItems = new List<int[]>();
foreach (var item in BinaryTable)
{
var items = item.ToString().Select(y => int.Parse(y.ToString())).ToArray();
allItems.Add(items);
}
var final = allItems.SelectMany(x => x).ToArray();
'int [] BinaryTable'? –
Я должен рассчитывать от двоичного значения до десятичного. –
Вы должны предоставить нам дополнительную информацию. Ваш вопрос не содержит достаточной информации о том, что вы пытаетесь сделать. Измените свой вопрос, чтобы помочь объяснить, что вы пытаетесь сделать, и шаги, которые вы предприняли, чтобы попытаться решить эту проблему самостоятельно. См. Http://stackoverflow.com/help/how-to-ask –