Там какой-либо простой путь состоит в том, чтобы связать два BitArray (C#.NET)?

.offset() возвращает объект, содержащий свойства top и left. Если вы удалите скобки из своего .top(), он вернет то, что вы ищете.

var anchor_counter = jQuery('#counter_anchor').offset().top;

8
задан Jader Dias 5 February 2009 в 23:45
поделиться

3 ответа

К сожалению, похоже, что Ваш метод мог бы быть столь хорошим, как это добирается - если бы BitArray реализовал IEnumerable <T> (вместо просто IEnumerable) затем, то мы могли бы использовать дополнительные методы LINQ для создания этого немного более симпатичным.

На вашем месте я обернул бы это в дополнительный метод на BitArray:

public static BitArray Prepend(this BitArray current, BitArray before) {
    var bools = new bool[current.Count + before.Count];
    before.CopyTo(bools, 0);
    current.CopyTo(bools, before.Count);
    return new BitArray(bools);
}

public static BitArray Append(this BitArray current, BitArray after) {
    var bools = new bool[current.Count + after.Count];
    current.CopyTo(bools, 0);
    after.CopyTo(bools, current.Count);
    return new BitArray(bools);
}
9
ответ дан 5 December 2019 в 11:28
поделиться

Платформа не обеспечивает хороший способ сделать это. Вы могли создать массив bools, который является достаточно большим для хранения обоих BitArrays. Затем используйте BitArray. CopyTo для копирования каждого BitArray в массиве bools (можно указать, где начать вставлять элементы).

После того, как это сделано, создайте другой BitArray с конструктором, который принимает массив bools.

Большая работа, которую я знаю, но там, кажется, не иначе. Это - меньше кода, чем Ваш существующий метод как бы то ни было.

2
ответ дан 5 December 2019 в 11:28
поделиться

Можно сделать это с LINQ, после Cast<bool>() bitarray 'становится' IEnumerable<bool>:

var previous = new BitArray(new bool[] { true });
var current = new BitArray(new bool[] { false });

BitArray newBitArray = 
    new BitArray(previous.Cast<bool>().Concat(current.Cast<bool>()).ToArray());

Я не думаю, что этот метод LINQ будет быстр.

5
ответ дан 5 December 2019 в 11:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: