Двунаправленная карта в.NET

Чтобы добавить сжатие к результирующему zip-файлу, просмотрите эту ссылку .

Вам нужно изменить:

zip = zipfile.ZipFile('Python.zip', 'w')

на

zip = zipfile.ZipFile('Python.zip', 'w', zipfile.ZIP_DEFLATED)

6
задан Agnel Kurian 2 July 2009 в 15:11
поделиться

2 ответа

В случае только 10 случаев, которые будут редко меняться, вероятно, будет достаточно пары методов с использованием операторов Switch.

Если у вас есть контроль над статическими объектами, тогда все они могут реализовать новый интерфейс, который возвращает символ «кода сериализации»:

public interface IStaticObject
{
    char SerializationCode { get; };
}

Следовательно, двигаться в этом направлении легко: someObject.SerializationCode. Тогда вы также можете использовать все ваши статические объекты с помощью конструктора, который регистрирует их SerializationCode с экземпляром singleton, который имеет словарь.

public class SomeStaticObject : IStaticObject
{
    public void SomeStaticObject()
    {
        StaticObjectRegistrar.Register(this.SerializationCode, this);
    }

    public char SerializationCode
    {
        get
        {
            return ?;
        }
    }
}

При десериализации вы просто берете символ и запускаете его через этот словарь, чтобы вернуть статический объект.

5
ответ дан 9 December 2019 в 22:38
поделиться

Я бы создал структуру данных, содержащую два общих объекта Dictionary , которые отражают друг друга таким образом, что ключ одного представляет значение другого и наоборот. Это позволит выполнять поиск O (1) в обоих направлениях.

6
ответ дан 9 December 2019 в 22:38
поделиться
Другие вопросы по тегам:

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