Что лучший способ состоит в том, чтобы записать короткому [] массив в файл в C#?

Если намерение состоит в том, чтобы иметь (один) тип Event со свойством EventValue, которое может содержать или целое число или двойное значение, тогда [113 ] с соответствующими значениями будет служить этой цели:

enum EventValue {
    case ival(Int)
    case dval(Double)
}

struct Event {
    let time: Date
    let value: EventValue
}

let event1 = Event(time: Date(), value: .dval(40.3467))
let event2 = Event(time: Date(), value: .ival(1234))
6
задан MusiGenesis 22 October 2008 в 02:15
поделиться

2 ответа

Используйте BinaryWriter

    static void WriteShorts(short[] values, string path)
    {
        using (FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write))
        {
            using (BinaryWriter bw = new BinaryWriter(fs))
            {
                foreach (short value in values)
                {
                    bw.Write(value);
                }
            }
        }
    }
11
ответ дан 8 December 2019 в 17:29
поделиться

Развитие ответа B Jon, если Ваш файл содержит какие-либо другие данные, Вы могли бы хотеть снабдить префиксом данные количество значений.

т.е.:

static void WriteShorts(short[] values, string path)
{
    using (FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write))
    {
        using (BinaryWriter bw = new BinaryWriter(fs))
        {
            // Write the number of items
            bw.Write(values.Length);

            foreach (short value in values)
            {
                bw.Write(value);
            }
        }
    }
}
2
ответ дан 8 December 2019 в 17:29
поделиться
Другие вопросы по тегам:

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