Как архивировать несколько файлов с помощью только API .NET в c#

Используйте его для анонимных типов - это - то, для чего это там. Что-либо еще - использование слишком далеко. Как многие люди, которые росли на C, я привык смотреть слева от объявления для типа. Я не смотрю на правую сторону, если я не имею к. Используя var для любого старого объявления заставляет меня сделать это все время, которое я лично нахожу неудобными.

Те, которые говорят ', это не имеет значения, использует то, что Вы довольны', не видят целое изображение. Все возьмут код других людей однажды или другого и иметь для контакта с любыми решениями, которые они приняли в то время, когда они записали его. Это должно плохо достаточно иметь дело с радикально различными соглашениями о присвоении имен, или - классическим схватыванием - крепящие стили, не добавляя целое' var или не' вещь в соединение. Худший случай будет то, где один программист не использовал var, и затем вперед прибывает специалист по обслуживанию, который любит его и расширяет код с помощью него. Таким образом, теперь у Вас есть безобразная путаница.

Стандарты являются хорошей вещью точно, потому что они означают, что Вы то, что намного более вероятно быть в состоянии взять случайный код и быть в состоянии к grok она быстро. Чем больше вещей, которые отличаются, тем тяжелее, который добирается. И перемещаясь в 'var везде' стиль делает большой различие.

я не возражаю против динамического контроля типов, и я не возражаю против implict, вводящего - на языках, которые разработаны для них. Мне вполне нравится Python. Но C# был разработан как статически явно-типизированный-язык, и это - то, как это должно остаться. Нарушение правил для анонимных типов было достаточно плохо; позволяющие люди берут это еще далее и повреждают идиомы языка, еще больше - что-то, чем я не доволен. Теперь, когда джин вне бутылки, она никогда не будет возвращаться в. C# станет balkanised в лагеря. Не хороший.

31
задан edosoft 7 August 2009 в 10:05
поделиться

5 ответов

I Я не уверен, что вы имеете в виду, говоря о нежелании использовать сторонние инструменты, но я предполагаю, что вы не хотите, чтобы какое-то неприятное взаимодействие программно выполняло это с помощью другого программного обеспечения.

Я рекомендую использовать ICSharpCode SharpZipLib

Его можно добавить в ваш проект в качестве эталонной DLL, и он довольно прост для создания файлов ZIP и их чтения.

6
ответ дан 27 November 2019 в 21:39
поделиться
43
ответ дан 27 November 2019 в 21:39
поделиться

http://www.codeplex.com/DotNetZip Исходные коды доступны, так что вы можете увидеть, как они это делают, и написать что-то похожее для себя

3
ответ дан 27 November 2019 в 21:39
поделиться

Проверьте System.IO.Compression.DeflateStream. Вы найдете пару примеров на msdn http://msdn.microsoft.com/en-us/library/system.io.compression.deflatestream.aspx

0
ответ дан 27 November 2019 в 21:39
поделиться

Вы всегда можете вызвать сторонний исполняемый файл, такой как 7-zip, с соответствующей командной строкой с помощью класса System.Diagnostics.Process. Такого взаимодействия нет, потому что вы просто просите ОС запустить двоичный файл.

0
ответ дан 27 November 2019 в 21:39
поделиться
Другие вопросы по тегам:

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