<< Back to C-SHARP
7 Zip Command Line Examples
Use 7-Zip on the command line. Compress, extract, archive and optimize with the 7za.exe executable.7-Zip. The 7za.exe program is used to compress, extract and update files through the command line. It provides superior compression. It is a great program.
7-Zip is open-source. This makes it easy to obtain and use. This document covers some common command lines (focused on Windows, but applicable to any OS like Linux or Mac OS X).
Start. Download the 7-Zip command line executable: 7za.exe. This is the exe you will use to run commands on archives. Please go to 7-zip.org and get the command line version.
Tip: For convenience and so you don't need to change environment paths, put the 7za.exe file in your user directory.
Next: Open the Windows console and test the 7za.exe program out with a few commands. Type in the exe name 7za and this will display.
Grammar: We see the grammar we need to use with 7za.exe. The "command" is the main verb.
Switches: Then you specify optional switches, the archive name (source or destination) and files. My user directory is "C:\Users\Sam\".
7-Zip default output
7-Zip (A) 4.60 beta Copyright (c) 1999-2008 Igor Pavlov
2008-08-19
Usage: 7za <command> [<switches>...] <archive_name>
[<file_names>...]
[<@listfiles...>]

Command a. You can use the "a" command with the single letter a. This command stands for "archive" or "add." Use it to put files in an archive.
Arguments: You have to specify the destination archive, and the source files (in that order).
Note: On the test system, "C:\Users\Sam" contains two files (file1.txt and file2.txt). The command puts those two files in an archive.
Tip: To open your archive, right click on it and select 7-Zip -> Open archive. The screenshot shows the files compressed in files.7z.
Example command line 1
C:\Users\Sam>7za a -t7z files.7z *.txt
7-Zip (A) 4.60 beta Copyright (c) 1999-2008 Igor Pavlov 2008-08-19
Scanning
Creating archive files.7z
Compressing file1.txt
Compressing file2.txt
Everything is Ok
C:\Users\Sam>

Command d. We use the "d" command in 7-Zip command lines. This stands for delete. It allows you to remove a certain file (or set of files) from inside an archive.
Note: You will need this if you use huge archives and need to save time. This is from the manual.
Tip: You can also remove a single file from an archive with "d". This is more useful when you do not have a solid archive.
Example d command line
7z d archive.zip *.bak -r
7z: use executable
d: delete files
archive.zip: delete from this archive
*.bak: only match bak files
-r: traverse all subdirectories

Command e. The "e" stands for extract, and it means to unzip or expand an archive. You must specify the source archive always, and may also specify a destination.
Info: The "e" command extracts everything to a specified directory. Another command "x" can preserve directory structures in archives.
Overwrite prompts: 7-Zip will always prompt you if there is a file it needs to overwrite to extract the new file.
However: This can be problematic if you are scripting or embedding 7za.exe. In that case, see the -y switch.
Example e command line
7z e archive.zip
7z: executable
e: use extract command
archive.zip: source archive you want to expand

Command l. The lowercase L is used to list the contents of archives. You probably will not need to use it often. I thought I would test it and show an example.
Next: This shows the listing of a solid archive. The originals are 27216 bytes and 3888 bytes. They compress down to 1030 bytes.
Example l command line
C:\Users\Sam>7za l files.7z
7-Zip (A) 4.60 beta Copyright (c) 1999-2008 Igor Pavlov 2008-08-19
Listing archive: files.7z
Method = LZMA
Solid = +
Blocks = 1
Physical Size = 1202
Headers Size = 172
Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
2008-10-02 15:48:01 ....A 27216 1030 file1.txt
2008-10-02 15:47:45 ....A 3888 file2.txt
------------------- ----- ------------ ------------ ------------------------
31104 1030 2 files, 0 folders

Command t. Here we use the "t" command in the 7z program. This command allows you to test the integrity of archives. It stands for "test" and is much less useful than the "-t" switch.
Warning: Don't confuse the two. This one is used for diagnostics. We usually want the hyphen "-t."
Example t command line
7z t archive.zip *.doc -r
7z: use this executable
t: test the specified archive
archive.zip: the archive you want to test
*.doc: test all these files in the archive
-r: recurse all child directories

Command u. This stands for update. This command replaces old files in your archive with newer files. This prevents needing to decompress and recompress the entire archive.
Warning: The "u" command doesn't work with solid archives. A solid archive is one where all the files are compressed together.
So: You cannot update specific files in solid archives with the "u" command. Solid archives are limited.
Example u command line
7z u archive.zip *.doc
7z: executable name
u: update command
archive.zip: archive you want to update files in
*.doc: only update these files (Word documents)

Switch m. We can change the optimization settings in 7-Zip on the command line. This is the most important and useful option you can use.
Tip: It specifies the method of compression. Here I will show a bunch of options, and also some examples.
Compression levels:
Switch -mx0: Don't compress at all.
This is called "copy mode."
Switch -mx1: Low compression.
This is called "fastest" mode.
Switch -mx3: Fast compression mode.
Will automatically set various parameters.
Switch -mx5: Same as above, but "normal."
Switch -mx7: This means "maximum" compression.
Switch -mx9: This means "ultra" compression.
You probably want to use this.

Switch m, advanced. Here are advanced compression method (-m) switches. The first three are usually of limited use. My experience is that manual optimizations doesn't produce big benefits.
Switch -mfb: Specifies number of fast bytes. Sometimes helps with "sparse" files. Don't bother.
Switch -mpass: Number of passes for deflate compression. Don't bother with this. Automatically set with levels.
Switch -md: This specifies dictionary size. It is automatically set, so don't bother.
Switch -mmt: Enable multithreading. Use if you have quad-core and a huge archive. Specify "on" or "off".
Command x. This command is like "e" except it preserves the full paths. If you have an elaborate or important directory structure, use this option. This would be most useful for backups.
Example x command line
7z x archive.zip
7z: executable name
x: use the extract command
archive.zip: the archive you want to extract all the files from

Switch t type. Here I show how to specify the archive type. Note that you can specify any file name you want for any type. But some extensions are recommended—they are standard.
Type switches
Switch: -t7z
Format: 7Z
Example filename: archive.7z (default option)
Switch: -tgzip
Format: GZIP
Example filename: archive.gzip, archive.gz
Switch: -tzip
Format: ZIP
Example filename: archive.zip (compatible)
Switch: -tbzip2
Format: BZIP2
Example filename: archive.bzip2
Switch: -ttar
Format: TAR
Example filename: tarball.tar (UNIX and Linux)
Switch: -tiso
Format: ISO
Example filename: image.iso (may not be supported)
Switch: -tudf
Format: UDF
Example filename: disk.udf

Type switch examples. The 7-Zip manual shows the -tiso and -tudf switches. These are not the most common. Almost all of the examples in this document use -t switches.
Example a command lines
7z a -tiso archive.iso
7z a -tudf archive.udf
7z: executable name
a: add to archive
-tiso or -tudf: format of archive to create
archive.iso or archive.udf: name of archive to create
Solid archives. 7z is the only file format in 7-Zip that you can specify whether the archive is solid or not. Solid makes it impossible to use the "u" command to update individual files.
Switch -ms=on: Enable solid mode. This is the default so you won't often need to specify it.
Switch -ms=off: Disable solid mode. Useful when you need to update individual files. Will reduce compression ratios normally.
7z archives. Some things you can change are dictionary sizes, FastBytes values, MatchFinder values, and filters. Normally you don't need to deal with these.
PPMd. With the 7z format, you can specify the algorithm. PPMd is good for compressing plain text files. It is ideal for Word documents. PPMd does not perform as well on binary data.
PPMd switch -mmem=24b, -mmem=24k, -mmem=24m: These control the amount of memory you use. They are useful and higher is normally better.
PPMd switch -mo=2, -mo=32: These specify the model order in PPMd. They are not normally useful.
Tip: You should use PPMd when you have a large corpus (body) of text. This could include HTML. It can improve ratios by around 30%.
Example commands. Here I show the example compression commands from the 7-Zip manual. I demonstrated simple ones at the start of this document. These are more complex.
Example a command line 2
7z a -tzip archive.zip *.jpg -mx0
7z: name of executable
a: add to archive command
-tzip: specify a ZIP archive (useful for compatibility)
archive.zip: destination archive
*.jpg: only add jpg files to archive
-mx0: don't compress, just copy
useful for already-compressed files
Example of 7z format. This next command line shows how to create a solid 7z archive of program files (executables). It uses multithreading mode, which means it will be fast.
Example ms command line
7z a -t7z archive.7z *.exe *.dll -ms -mmt
7z: name of executable
a: archive command specified
-t7z: use 7z file type (less compatible and smaller results)
archive.7z: destination archive file
*.exe: include all *.exe files in directory in new archive
*.dll: include all *.dll files in new archive
-ms: create solid archive (default)
-mmt: multithread the operation (faster)
Create PPMd archive. PPMd is an extraordinary algorithm for compressing text. Here I show a command in the 7-Zip manual that compresses all the text files in the working directory.
Tip: The command is useful because you will normally want to compress only text files with PPMd.
Example PPMd command line
7z a -t7z archive.7z *.txt -m0=PPMd
7z: executable name/path
a: add command specified
-t7z: use the 7z format (needed for PPMd)
archive.7z: destination archive file
*.txt: select all text files
-mo=PPMd: compress with this algorithm
Switch o. Sometimes you do not want to extract to the current directory. This is where -o can come in handy. Use this to set the destination directory.
Example o command line
7z x archive.zip -oC:\Doc
7z: executable name
x: extract archive with paths intact
archive.zip: archive to extract files from
-oC:\Doc: extract all files to the Doc folder on the C: drive
Switch p. We can use the "-p" switch, which refers to the word "password". This is really helpful when security and encryption is involved. You can specify a password on the command line.
Example p command line
7za a pw.7z *.txt -pSECRET
7za: name and path of 7-Zip executable
a: add to archive
pw.7z: name of destination archive
*.txt: add all text files to destination archive
-pSECRET: specify the password "SECRET"
Opening password-protected archives. This next console output shows what happens when you try to open the password-protected archive. The password here is SECRET. I am so clever.
Header encryption: Add -mhe to encrypt headers. The password command will automatically deal with encrypted headers.
Tip: Remember, encrypted headers will hide the names of the files in your archive.
Example x command line 2
C:\Users\Sam>7za x pw.7z
7-Zip (A) 4.60 beta Copyright (c) 1999-2008 Igor Pavlov 2008-08-19
Processing archive: pw.7z
Enter password:
More switches. Here we take a closer look at more switches that are of limited use. They are sometimes useful to know. Usually you can do better just by using the defaults.
Switch -ssc: Specify case-sensitive mode. The default is -ssc- on Windows (insensitive). The default is -scc on Linux (sensitive).
Switch -ssw: Compress locked files. You can try this if you have problems opening files.
Switch -w: Set working directory. You can use this when you want to specify temp folders.
Case-sensitive. We can use case-insensitive file names. For cross-platform stuff, the case-sensitive option is useful. I will show my own example here with some explanation.
Example ssc command line
7za.exe a archive.7z Z*.* -ssc
7za.exe: 7-Zip command-line executable path and name
a: archive command
archive.7z: add files to this target archive
Z*.*: select only files whose first letter is a capital Z
-ssc: case-insensitive matching
Switch v. In data compression, a volume is a segment of a data set that is a certain number of bytes long. The volume switch specifies the exact size in bytes, kilobytes or megabytes.
Also: You can specify sequential volumes with the "v" switch on the 7za.exe command line.
Switch ao. The "ao" switch allows you to specify whether you want to overwrite old files. Be careful—you cannot restore an overwritten file normally. This switch takes another argument.
Switch -aoa: This switch overwrites all destination files. Use it when the new versions are preferred.
Switch -aos: Skip over existing files without overwriting. Use this for files where the earliest version is most important.
Switch -aou: Avoid name collisions. New files extracted will have a number appending to their names. You will have to deal with them later.
Switch -aot: Rename existing files. This will not rename the new files, just the old ones already there.
Examples:
7z x test.zip -aoa
7z: use the 7-zip executable
x: use the extract command
test.zip: extract files from this archive
-aoa: overwrite all existing files
Multiple files. To add many files to one archive, please use the "a" command and the wildcard * symbol. Specify the name of the destination archive file and the source files afterwards.
How do I add many files with a specific extension? Use the "a" command and the wildcard * symbol, but specify the extension after the wildcard.
Example: For example, *.txt means all text files. You can use the wildcard anywhere.
How can I add many files from an entire subdirectory? Specify just the directory name. You do not need to use a wildcard. This command specifies an entire directory called "subdir".
Example subdirectory command line
7z a -tzip archive.zip subdir\
7z: use executable
a: add to archive
-tzip: use zip compression
archive.zip: create this archive
subdir\: source directory
How do I use BZip2? You can use BZip2 by specifying the "-tbzip2" switch. This can be combined with any compression level. The modes in 7-Zip automatically use many different settings.
How do I use 7z format? Specify the "-t7z" switch for type. Or you can simply omit the type switch and that will default to 7z. This format offers the greatest compression ratios.
Prompts. You can stop 7-Zip from displaying prompts. Please use the -y switch. This will assume a yes answer to all prompts. Use this only when you are confident.
Why can't I update my archive? It is probably a solid archive. 7z archives are by default solid archives—all the files are compressed together.
Tip: Change the archive not to be solid if you want to update it. Search this page for "solid".
Can I specify the output directory? Use the "e" command and combine it with the -o switch. The syntax with -o is a bit funny. This is the example from the 7-Zip help file.
Example output directory command line
7z e archive.zip -oC:\soft *.cpp -r
7z: executable
e: use extract command
archive.zip: source archive you want to extract from
-oC:\soft: the destination folder
(-o is the switch and C:\soft is the argument)
*.cpp: only extract cpp files (C++)
-r: traverse all subdirectories
How can I see what's inside an archive? Use the "l" command. You might want to use "l" in a utility that you run from a command line to make sure your batch archiving properly works.
How can I exclude certain files? Sometimes you want to manually exclude certain files. Use the -x switch, followed immediately with an exclamation mark and then the filename.
So: If you want to exclude "file1.txt", use the switch "-x!file1.txt". Please include the hyphen and exclamation.
How can I replace files? By using the -ao switch, described above. There are other options, and it is usually a better idea to use one of the renaming options (-aou or -aot).
Can I ignore extracting files already on disk? Yes—specify the -aos option, which means "skip overwriting files." This will cause 7za.exe to not copy the newer files out of the archive.
Note: Use -aos if your files don't change over time and overwriting would just be a waste.
Embed. You can embed 7-Zip in a Windows .NET program. This yields the same great compression but in your own GUI. The link shows some compression ratios.
7-Zip ExecutableInternal settings. You can change internal settings. You do not need to do this normally. I recommend just using the mx=0 (and 3, 5, 7, 9) settings. An in-depth study would be fascinating.
Filters: You can change compression filters, which change behaviors on executable files such as *.exe and *.dll.
And: You can enable header compression and encryption (-mhc=on and -mhe=on). Header compression is by default enabled.
Zopfli. If you are reading this page, you probably want even better compression. I have found that Zopfli can create gzip archives a few bytes smaller than 7-Zip can. It is slow to run.
Zopfli: github.comAdvanceCOMP. You can use AdvanceCOMP to improve compression ratios. The improvement is often small, less than 1%. AdvanceCOMP has more options and is more fine-grained.
AdvanceMAME: github.comA review. 7-Zip can be used on the command line. We created new archives, added to existing archives, used different formats, and used various strengths.
Related Links:
- C# ContainsValue Method (Value Exists in Dictionary)
- C# ContextMenuStrip Example
- C# Normalize, IsNormalized Methods
- C# continue Keyword
- C# Control: Windows Forms
- C# File.Open Examples
- C# Null String Example
- C# null Keyword
- C# Windows Forms Controls
- C# File.ReadAllBytes, Get Byte Array From File
- C# Nullable Examples
- C# NullReferenceException and Null Parameter
- C# File.ReadAllLines, Get String Array From File
- C# Object Array
- C# Color Table
- C# Convert Char Array to String
- C# File.ReadAllText, Get String From File
- C# Obsolete Attribute
- C# Color Examples: FromKnownColor, FromName
- C# ColorDialog Example
- C# Comment: Single Line and Multiline
- C# Concat Extension: Combine Lists and Arrays
- C# Conditional Attribute
- C# Console Color, Text and BackgroundColor
- C# String Clone() method
- C# Convert Char to String
- C# Convert Days to Months
- C# File.ReadLines, Use foreach Over Strings
- C# File.Replace Method
- C# FileInfo Length, Get File Size
- C# FileInfo Examples
- C# StreamReader ReadLine, ReadLineAsync Examples
- C# readonly Keyword
- C# Aggregate: Use Lambda to Accumulate Value
- C# AggressiveInlining: MethodImpl Attribute
- C# Multidimensional Array
- C# MultiMap Class (Dictionary of Lists)
- C# Anagram Method
- C# Recursion Example
- C# And Bitwise Operator
- C# Regex, Read and Match File Lines
- C# Regex Groups, Named Group Example
- C# Anonymous Function (Delegate With No Name)
- C# Any Method, Returns True If Match Exists
- C# Regex.Matches Quote Example
- C# StringBuilder Append and AppendLine
- C# Optimization
- C# StringBuilder AppendFormat
- ASP.NET appSettings Example
- C# ArgumentException: Invalid Arguments
- C# Regex.Matches Method: foreach Match, Capture
- C# File Handling
- C# Filename With Date Example (DateTime.Now)
- C# FileNotFoundException (catch Example)
- C# FileStream Length, Get Byte Count From File
- C# Convert String to Byte Array
- C# FileStream Example, File.Create
- C# FileSystemWatcher Tutorial (Changed, e.Name)
- C# finally Keyword
- C# String Format
- C# String Replace() method
- C# Sum Method: Add up All Numbers
- C# Switch Char, Test Chars With Cases
- C# Switch Enum
- C# String Split() method
- C# String StartsWith() method
- C# String SubString() method
- C# System (using System namespace)
- C# Partial Types
- C# Tag Property: Windows Forms
- C# Iterators
- C# TextInfo Examples
- C# TextReader, Returned by File.OpenText
- C# Delegate Covariance
- C# Delegate Inference
- C# Array.ConvertAll, Change Type of Elements
- HelpProvider Control Use
- C# SplitContainer: Windows Forms
- C# SqlClient Tutorial: SqlConnection, SqlCommand
- C# SqlCommand Example: SELECT TOP, ORDER BY
- C# SqlCommandBuilder Example: GetInsertCommand
- C# SqlConnection Example: Using, SqlCommand
- C# SqlDataAdapter Example
- C# SqlDataReader: GetInt32, GetString
- C# SqlParameter Example: Constructor, Add
- C# Array.Copy Examples
- C# Array.CreateInstance Method
- C# HTML and XML Handling
- C# HtmlEncode and HtmlDecode
- C# HtmlTextWriter Example
- C# Array and Dictionary Test, Integer Lookups
- C# HttpUtility.HtmlEncode Methods
- C# HybridDictionary
- C# String ToCharArray() method
- C# Array.Exists Method, Search Arrays
- C# default Operator
- C# Func Object (Lambda That Returns a Value)
- C# GC.Collect Examples: CollectionCount, GetTotalMemory
- C# Path.GetDirectoryName (Remove File From Path)
- C# goto Examples
- C# Array.Find Examples, Search Array With Lambda
- C# Array.ForEach: Use Lambda on Every Element
- C# DefaultIfEmpty Method
- C# HttpClient Example: System.Net.Http
- C# Array Versus List Memory Usage
- C# Define and Undef Directives
- ASP.NET HttpContext Request Property
- C# Stack Collection: Push, Pop
- C# Static List: Global List Variable
- C# Static Regex
- C# Array Property, Return Empty Array
- C# Destructor
- C# Constructor Examples
- C# Contains Extension Method
- C# String GetTypeCode() method
- C# String ToLowerInvariant() method
- C# Customized Dialog Box
- C# DataColumn Example: Columns.Add
- C# DataGridView Add Rows
- DataGridView Columns, Edit Columns Dialog
- C# DataGridView Row Colors (Alternating)
- C# DataGridView Tutorial
- C# DataGridView
- C# DataRow Examples
- C# DataSet Examples
- C# DataSource Example
- C# DataTable Compare Rows
- C# DataTable foreach Loop
- C# DataTable RowChanged Example: AcceptChanges
- C# DataTable Select Example
- C# DataTable Examples
- C# DataView Examples
- C# OfType Examples
- C# OpenFileDialog Example
- C# operator Keyword
- C# Odd and Even Numbers
- C# BaseStream Property
- C# Console.Beep Example
- C# Bitwise Or
- C# orderby Query Keyword
- C# Benchmark
- C# String ToUpperInvariant() method
- C# String Trim() method
- C# out Parameter
- C# BinaryReader Example (Use ReadInt32)
- C# OutOfMemoryException
- C# BinaryWriter Type
- C# BitArray Examples
- C# BitConverter Examples
- C# Bitcount Examples
- C# OverflowException
- C# Overload Method
- C# Static String
- C# First Sentence
- C# Regex.Replace, Matching End of String
- C# Regex.Replace, Remove Numbers From String
- C# Anonymous Types
- C# FirstOrDefault (Get First Element If It Exists)
- C# Fisher Yates Shuffle: Generic Method
- C# fixed Keyword (unsafe)
- C# Flatten Array (Convert 2D to 1D)
- C# Regex.Replace, Merge Multiple Spaces
- C# Regex.Replace Examples: MatchEvaluator
- C# Extension Methods
- C# Query Expression
- C# First Words in String
- C# First (Get Matching Element With Lambda)
- C# Regex.Split, Get Numbers From String
- C# Partial Method
- C# ContainsKey Method (Key Exists in Dictionary)
- C# Regex.Split Examples
- C# Regex Trim, Remove Start and End Spaces
- C# Implicitly Typed Local Variable
- C# Object and Collection Initializer
- C# RegexOptions.Compiled
- C# Auto Implemented Properties
- C# Dynamic Binding
- C# Named and Optional Arguments
- C# Asynchronous Methods
- C# Convert ArrayList to Array (Use ToArray)
- C# RegexOptions.IgnoreCase Example
- C# New Features | C# Version Features
- C# Programs
- C# Caller Info Attributes
- C# Convert ArrayList to List
- C# Convert Bool to Int
- C# RegexOptions.Multiline
- C# Using Static Directive
- C# Convert Bytes to Megabytes
- C# Region and endregion
- C# Remove Char From String at Index
- C# Exception Filters
- C# DialogResult: Windows Forms
- C# Dictionary, Read and Write Binary File
- C# Array Examples, String Arrays
- C# ArrayList Examples
- C# ArraySegment: Get Array Range, Offset and Count
- C# break Statement
- C# Buffer BlockCopy Example
- C# BufferedStream: Optimize Read and Write
- IL Disassembler Tutorial
- C# Intermediate Language (IL)
- C# new Keyword
- C# NotifyIcon: Windows Forms
- C# NotImplementedException
- C# Null Array
- C# static Keyword
- C# StatusStrip Example: Windows Forms
- C# Dictionary Memory
- C# Dictionary Optimization, Increase Capacity
- 404 Not Found
- C# 24 Hour Time Formats
- C# Dictionary Optimization, Test With ContainsKey
- C# String Chars (Get Char at Index)
- C# DictionaryEntry Example (Hashtable)
- C# Directives
- C# String GetType() method
- C# Directory.CreateDirectory, Create New Folder
- C# Directory.GetFiles Example (Get List of Files)
- C# DivideByZeroException
- C# DllImport Attribute
- C# Do While Loop Example
- C# CharEnumerator
- C# Chart, Windows Forms (Series and Points)
- C# CheckBox: Windows Forms
- C# Await in Catch Finally Blocks
- C# Increment String That Contains a Number
- C# Increment, Preincrement and Decrement Ints
- C# String ToString() method
- C# String ToUpper() method
- C# class Examples
- Dot Net Perls
- C# Indexer Examples (This Keyword, get and set)
- C# Default Values for Getter Only Properties
- C# Digit Separator
- C# Clear Dictionary: Remove All Keys
- C# Clone Examples: ICloneable Interface
- C# Closest Date (Find Dates Nearest in Time)
- C# Expression Bodied Members
- C# DateTime.MinValue (Null DateTime)
- C# DateTime.Month Property
- C# Combine Arrays: List, Array.Copy and Buffer.BlockCopy
- C# Combine Dictionary Keys
- C# ComboBox: Windows Forms
- C# IndexOutOfRangeException
- C# Inheritance
- C# Null Propagator
- C# CompareTo Int Method
- C# Comparison Object, Used With Array.Sort
- C# Insert String Examples
- C# int Array
- C# String Interpolation
- C# nameof operator
- C# DateTime.Parse: Convert String to DateTime
- C# DateTime Subtract Method
- C# Compress Data: GZIP
- C# Interface Examples
- C# Interlocked Examples: Add, CompareExchange
- C# Dictionary Initializer
- C# 2D Array Examples
- 7 Zip Command Line Examples
- C# 7 Zip Executable (Process.Start)
- C# Decompress GZIP
- C# Remove Duplicates From List
- C# dynamic Keyword
- C# Null Coalescing and Null Conditional Operators
- C# Null List (NullReferenceException)
- C# DayOfWeek
- C# Remove Element
- C# Pattern Matching
- C# Tuples
- C# Enum.Format Method (typeof Enum)
- C# Enum.GetName, GetNames: Get String Array From Enum
- C# Enum.Parse, TryParse: Convert String to Enum
- C# stackalloc Operator
- C# Deconstruction
- C# Remove HTML Tags
- C# Local Functions
- C# ElementAt, ElementAtOrDefault Use
- C# Error and Warning Directives
- C# ErrorProvider Control: Windows Forms
- C# Remove String
- C# StackOverflowException
- C# Program to swap numbers without third variable
- C# Binary Literals
- C# event Examples
- C# Program to convert Decimal to Binary
- C# Ref Returns and Locals
- C# Encapsulate Field
- C# Enum Array Example, Use Enum as Array Index
- C# enum Flags Attribute Examples
- C# IndexOf Examples
- C# IndexOfAny Examples
- C# Initialize Array
- C# Get Every Nth Element From List (Modulo)
- C# Excel Interop Example
- C# StartsWith and EndsWith String Methods
- C# Static Array
- C# Program to Convert Number in Characters
- C# Expression Bodied Constructors and Finalizers
- C# Initialize List
- C# InitializeComponent Method: Windows Forms
- C# Numeric Casts
- C# NumericUpDown Control: Windows Forms
- C# object.ReferenceEquals Method
- C# Object Examples
- C# Optional Parameters
- C# Except (Remove Elements From Collection)
- C# Static Dictionary
- C# Program to Print Alphabet Triangle
- C# Expression Bodied Getters and Setters
- C# Prime Number
- C# Reserved Filenames
- C# Program to print Number Triangle
- C# Async Main
- C# Default Expression
- C# Inline Optimization
- C# Override Method
- C# Enum ToString: Convert Enum to String
- C# enum Examples
- C# Enumerable.Range, Repeat and Empty
- C# Dictionary Equals: If Contents Are the Same
- C# Dictionary Versus List Loop
- C# Dictionary Order, Use Keys Added Last
- C# Dictionary Size and Performance
- C# Dictionary Versus List Lookup Time
- C# Dictionary Examples
- C# Get Directory Size (Total Bytes in All Files)
- C# Directory Type
- C# Distinct Method, Get Unique Elements Only
- C# Divide by Powers of Two (Bitwise Shift)
- C# Divide Numbers (Cast Ints)
- C# DomainUpDown Control Example
- C# Double Type: double.MaxValue, double.Parse
- C# Environment Type
- C# Main args Examples
- C# All Method: All Elements Match a Condition
- C# Alphabetize String
- C# Alphanumeric Sorting
- C# EventLog Example
- C# PadRight and PadLeft: String Columns
- C# Arithmetic Expression Optimization
- C# Array.AsReadOnly Method (ObjectModel)
- C# Array.BinarySearch Method
- C# Map Example
- ASP.NET MapPath: Virtual and Physical Paths
- C# Get Paragraph From HTML With Regex
- C# Array.Clear Examples
- C# Exception Handling
- C# explicit and implicit Keywords
- C# Factory Design Pattern
- C# File.Copy Examples
- C# typeof and nameof Operators
- C# string.Concat Examples
- C# String Interpolation Examples
- C# string.Join Examples
- C# String Performance, Memory Usage Info
- C# String Property
- C# String Slice, Get Substring Between Indexes
- C# String Switch Examples
- C# String
- C# StringBuilder Append Performance
- C# Mask Optimization
- C# MaskedTextBox Example
- C# Parallel.For Example (Benchmark)
- C# StringBuilder Cache
- C# Math.Abs: Absolute Value
- C# Parallel.Invoke: Run Methods on Separate Threads
- C# Array.IndexOf, LastIndexOf: Search Arrays
- C# Remove Duplicate Chars
- C# IEqualityComparer
- C# If Preprocessing Directive: Elif and Endif
- C# If Versus Switch Performance
- C# if Statement
- C# Parameter Optimization
- C# Parameter Passing, ref and out
- C# params Keyword
- C# int.Parse: Convert Strings to Integers
- C# TextWriter, Returned by File.CreateText
- C# this Keyword
- C# ThreadPool
- C# OrderBy, OrderByDescending Examples
- C# Process Examples (Process.Start)
- C# Thread Join Method (Join Array of Threads)
- C# ThreadPool.SetMinThreads Method
- C# TimeZone Examples
- Panel, Windows Forms (Create Group of Controls)
- C# Path Examples
- C# Get Percentage From Number With Format String
- ASP.NET PhysicalApplicationPath
- C# PictureBox: Windows Forms
- C# PNG Optimization
- C# Position Windows: Use WorkingArea and Location
- Visual Studio Post Build, Pre Build Macros
- C# Get Title From HTML With Regex
- C# ToArray Extension Method
- C# ProfileOptimization
- C# ProgressBar Example
- C# ToCharArray: Convert String to Array
- C# ToDictionary Method
- C# Bool Methods, Return True and False
- C# bool Sort Examples (True to False)
- C# Stopwatch Examples
- C# Stream
- C# StreamReader ReadToEnd Example (Read Entire File)
- C# StreamReader ReadToEndAsync Example (Performance)
- C# StreamReader Examples
- C# StreamWriter Examples
- C# String Append (Add Strings)
- C# Caesar Cipher
- C# String Compare and CompareTo Methods
- C# Cast Extension: System.Linq
- C# Cast to Int (Convert Double to Int)
- C# Cast Examples
- C# catch Examples
- C# String Constructor (new string)
- C# Math.Ceiling Usage
- C# return Keyword
- C# Math.Floor Method
- C# Program to generate Fibonacci Triangle
- C# String TrimEnd() method
- C# Math.Max and Math.Min Examples
- C# String Compare() method
- C# var Examples
- C# virtual Keyword
- C# void Method, Return No Value
- C# volatile Example
- C# WebBrowser Control (Navigate Method)
- C# WebClient: DownloadData, Headers
- C# Where Method and Keyword
- C# Math.Pow Method, Exponents
- C# String CompareOrdinal() method
- C# String TrimStart() method
- C# Math.Round Examples: MidpointRounding
- C# String CompareTo() method
- C# Math Type
- C# Reverse String
- C# String Concat() method
- C# Max and Min: Get Highest or Lowest Element
- C# Reverse Words
- C# Reverse Extension Method
- C# RichTextBox Example
- C# String Contains() method
- C# MemoryFailPoint and InsufficientMemoryException
- C# String CopyTo() method
- C# partial Keyword
- C# ToBase64String (Data URI Image)
- C# Path.ChangeExtension
- C# Struct Versus Class
- C# struct Examples
- C# Path Exists Example
- C# Path.GetExtension: File Extension
- C# Path.GetRandomFileName Method
- C# Pragma Directive
- C# Predicate (Lambda That Returns True or False)
- C# Pretty Date Format (Hours or Minutes Ago)
- C# PreviewKeyDown Event
- C# Substring Examples
- C# Numeric Suffix Examples
- C# switch Examples
- C# Convert Degrees Celsius to Fahrenheit
- C# Convert Dictionary to List
- C# Convert Dictionary to String (Write to File)
- C# Convert List to Array
- C# Convert List to DataTable (DataGridView)
- C# Convert List to String
- C# Convert Miles to Kilometers
- C# Convert Milliseconds, Seconds, Minutes
- C# Convert Nanoseconds, Microseconds, Milliseconds
- C# Console.Read Method
- C# Console.ReadKey Example
- C# Console.ReadLine Example (While Loop)
- C# Console.SetOut and Console.SetIn
- C# Intersect: Get Common Elements
- C# InvalidCastException
- C# InvalidOperationException: Collection Was Modified
- C# Console.WindowHeight
- C# DriveInfo Examples
- C# IOException Type: File, Directory Not Found
- C# Right String Part
- C# RNGCryptoServiceProvider Example
- C# Property Examples
- C# PropertyGrid: Windows Forms
- C# Protected and internal Keywords
- C# Public and private Methods
- C# Console.Write, Append With No Newline
- C# Console.WriteLine (Print)
- C# DropDownItems Control
- C# IOrderedEnumerable (Query Expression With orderby)
- C# is: Cast Examples
- C# Remove Punctuation From String
- C# Query Windows Forms (Controls.OfType)
- C# Queryable: IQueryable Interface and AsQueryable
- ASP.NET QueryString Examples
- C# Queue Collection: Enqueue
- C# const Example
- C# Constraint Puzzle Solver
- C# IComparable Example, CompareTo: Sort Objects
- C# RadioButton Use: Windows Forms
- C# ReadOnlyCollection Use (ObjectModel)
- C# Recursion Optimization
- C# Recursive File List: GetFiles With AllDirectories
- C# ref Keyword
- C# Reflection Examples
- C# Regex.Escape and Unescape Methods
- C# Count Characters in String
- C# Count, Dictionary (Get Number of Keys)
- C# IDictionary Generic Interface
- C# IEnumerable Examples
- C# IsFixedSize, IsReadOnly and IsSynchronized Arrays
- C# Count Letter Frequencies
- C# IList Generic Interface: List and Array
- C# string.IsNullOrEmpty, IsNullOrWhiteSpace
- C# IsSorted Method: If Array Is Already Sorted
- C# ROT13 Method, Char Lookup Table
- C# StringBuilder Examples
- C# StringComparison and StringComparer
- C# StringReader Class (Get Parts of Strings)
- C# Count Extension Method: Use Lambda to Count
- C# Image Type
- C# ImageList Use: Windows Forms
- C# string.Copy Method
- C# CopyTo String Method: Put Chars in Array
- C# value Keyword
- C# Empty String Examples
- C# ValueTuple Examples (System.ValueTuple, ToTuple)
- C# ValueType Examples
- C# String Equals Examples
- C# String For Loop, Count Spaces in String
- C# string.Intern and IsInterned
- C# Variable Initializer for Class Field
- C# String IsUpper, IsLower
- C# String Length Property: Get Character Count
- C# Token
- C# String EndsWith() method
- C# ToList Extension Method
- C# String Equals() method
- C# String IsNormalized() method
- C# ToLookup Method (Get ILookup)
- C# String Format() method
- C# ToLower and ToUpper: Uppercase and Lowercase Strings
- C# String IndexOf() method
- C# TabControl: Windows Forms
- TableLayoutPanel: Windows Forms
- ToolStripContainer Control: Dock, Properties
- C# ToolTip: Windows Forms
- C# ToString Integer Optimization
- C# String Insert() method
- C# Take and TakeWhile Examples
- C# Task Examples (Task.Run, ContinueWith and Wait)
- C# Ternary Operator
- C# Text Property: Windows Forms
- C# TextBox.AppendText Method
- C# TextBox Example
- C# TextChanged Event
- C# TextFieldParser Examples: Read CSV
- C# ToString: Get String From Object
- C# String Intern(String str) method
- C# String IsInterned() method
- C# ToTitleCase Method
- C# TrackBar: Windows Forms
- C# Tree and Nodes Example: Directed Acyclic Word Graph
- C# TreeView Tutorial
- C# String Normalize() method
- C# Convert String Array to String
- C# Jagged Array Examples
- C# MemoryStream: Use Stream on Byte Array
- C# MenuStrip: Windows Forms
- C# int.MaxValue, MinValue (Get Lowest Number)
- C# Program to reverse number
- C# Modulo Operator: Get Remainder From Division
- C# MonthCalendar Control: Windows Forms
- C# Int and uint Types
- C# Integer Append Optimization
- C# Keywords
- C# Label Example: Windows Forms
- C# Lambda Expressions
- C# LastIndexOf Examples
- C# Last, LastOrDefault Methods
- C# Convert TimeSpan to Long
- C# Convert Types
- C# join Examples (LINQ)
- C# Multiple Return Values
- C# Multiply Numbers
- C# Mutex Example (OpenExisting)
- C# Named Parameters
- C# String GetEnumerator() method
- C# String GetHashCode() method
- C# KeyCode Property and KeyDown
- C# namespace Keyword
- C# NameValueCollection Usage
- C# Nested Lists: Create 2D List or Jagged List
- C# Nested Switch Statement
- C# Copy Dictionary
- C# KeyNotFoundException: Key Not Present in Dictionary
- C# KeyValuePair Examples
- C# Environment.NewLine
- C# Let Keyword (Use Variable in Query Expression)
- C# Levenshtein Distance
- C# Regex Versus Loop: Use For Loop Instead of Regex
- C# Regex.Match Examples: Regular Expressions
- C# RemoveAll: Use Lambda to Delete From List
- C# Replace String Examples
- ASP.NET Response.BinaryWrite
- ASP.NET Response.Write
- C# Return Optimization: out Performance
- C# Count Elements in Array and List
- C# SelectMany Example: LINQ
- C# Sentinel Optimization
- C# SequenceEqual Method (If Two Arrays Are Equal)
- C# Shift Operators (Bitwise)
- C# Short and ushort Types
- C# Single Method: Get Element If Only One Matches
- C# SingleOrDefault
- C# Singleton Pattern Versus Static Class
- C# Singleton Class
- C# sizeof Keyword
- C# Skip and SkipWhile Examples
- C# Sleep Method (Pause)
- C# Sort Dictionary: Keys and Values
- C# String Literal: Newline and Quote Examples
- C# LinkLabel Example: Windows Forms
- C# LINQ
- C# List Add Method, Append Element to List
- C# List AddRange, InsertRange (Append Array to List)
- C# List Clear Example
- C# List Contains Method
- C# List Remove Examples
- C# List Examples
- C# ListBox Tutorial (DataSource, SelectedIndex)
- C# ListView Tutorial: Windows Forms
- C# SaveFileDialog: Use ShowDialog and FileName
- C# Scraping HTML Links
- C# sealed Keyword
- C# Seek File Examples: ReadBytes
- C# select new Example: LINQ
- C# ThreadStart and ParameterizedThreadStart
- C# Extension Method
- C# StringBuilder Capacity
- C# extern alias Example
- C# StringBuilder Clear (Set Length to Zero)
- C# StringBuilder Data Types
- C# StringBuilder Performance
- C# Select Method (Use Lambda to Modify Elements)
- C# StringBuilder Equals (If Chars Are Equal)
- C# StringBuilder Memory
- C# Convert Feet, Inches
- C# StringBuilder ToString: Get String From StringBuilder
- C# Serialize List (Write to File With BinaryFormatter)
- C# Maze Pathfinding Algorithm
- C# Memoization
- C# Memory Usage for Arrays of Objects
- C# MessageBox.Show Examples
- C# Method Call Depth Performance
- C# Method Parameter Performance
- C# Method Size Optimization
- C# throw Keyword Examples
- C# Timer Examples
- C# TimeSpan Examples
- C# StringWriter Class
- C# async, await Examples
- C# Attribute Examples
- C# Average Method
- C# BackgroundWorker
- C# base Keyword
- C# String Between, Before, After
- C# Binary Representation int (Convert, toBase 2)
- C# BinarySearch List
- C# bool Array (Memory Usage, One Byte Per Element)
- C# bool.Parse, TryParse: Convert String to Bool
- C# bool Type
- C# Change Characters in String (ToCharArray, For Loop)
- C# FromOADate and Excel Dates
- C# Char Combine: Get String From Chars
- C# Generic Class, Generic Method Examples
- C# char.IsDigit (If Char Is Between 0 and 9)
- C# CSV Methods (Parse and Segment)
- C# GetEnumerator: While MoveNext, Get Current
- C# GetHashCode (String Method)
- C# Thumbnail Image With GetThumbnailImage
- C# char.IsLower and IsUpper
- C# Character Literal (const char)
- C# DataRow Field Method: Cast DataTable Cell
- C# GetType Method
- C# Global Variable Examples (Public Static Property)
- ASP.NET Global Variables Example
- C# Char Lowercase Optimization
- C# Char Test (If Char in String Equals a Value)
- C# char.ToLower and ToUpper
- C# Get Day Count Elapsed From DateTime
- C# DateTime Format
- C# Group By Operator: LINQ
- GroupBox: Windows Forms
- C# char Examples
- C# DateTime.Now (Current Time)
- C# GroupBy Method: LINQ
- C# GroupJoin Method
- C# Array Length Property, Get Size of Array
- C# GZipStream Example (DeflateStream)
- C# abstract Keyword
- C# Action Object (Lambda That Returns Void)
- C# DateTime.Today (Current Day With Zero Time)
- C# DateTime.TryParse and TryParseExact
- C# DateTime Examples
- C# DateTimePicker Example
- C# Debug.Write Examples
- C# Visual Studio Debugging Tutorial
- C# decimal Examples
- C# HashSet Examples
- C# Hashtable Examples
- C# delegate Keyword
- C# descending, ascending Keywords
- C# while Loop Examples
- C# Whitespace Methods: Convert UNIX, Windows Newlines
- C# XmlReader, Parse XML File
- C# XmlTextReader
- C# XmlTextWriter
- C# XmlWriter, Create XML File
- C# XOR Operator (Bitwise)
- C# yield Example
- C# File.Delete
- C# File Equals: Compare Files
- C# File.Exists Method
- C# TrimEnd and TrimStart
- C# True and False
- C# Truncate String
- C# String ToLower() method
- C# History
- C# Features
- C# Variables
- C# Data Types
- C# float Numbers
- C# Settings.settings in Visual Studio
- C# Shuffle Array: KeyValuePair and List
- C# Single and Double Types
- C# try Keyword
- C# TryGetValue (Get Value From Dictionary)
- C# Tuple Examples
- C# Trim Strings
- C# String IsNullOrEmpty() method
- C# Type Class: Returned by typeof, GetType
- C# Word Count
- C# Thread Methods
- C# String IsNullOrWhiteSpace() method
- C# Single Instance Windows Form
- C# TypeInitializationException
- C# String Join() method
- C# Word Interop: Microsoft.Office.Interop.Word
- C# String LastIndexOf() method
- FlowLayoutPanel Control
- C# Focused Property
- C# FolderBrowserDialog Control
- C# Font Type: FontFamily and FontStyle
- C# FontDialog Example
- C# for Loop Examples
- C# foreach Loop Examples
- ForeColor, BackColor: Windows Forms
- C# Form: Event Handlers
- C# Contains String Method
- C# Union: Combine and Remove Duplicate Elements
- C# XElement Example (XElement.Load, XName)
- C# String LastIndexOfAny() method
- C# Snippet Examples
- C# Sort DateTime List
- C# Sort List With Lambda, Comparison Method
- C# Sort Number Strings
- C# Sort Examples: Arrays and Lists
- C# SortedDictionary
- C# SortedList
- C# SortedSet Examples
- C# Unreachable Code Detected
- C# Unsafe Keyword: Fixed, Pointers
- C# Uppercase First Letter
- C# Uri and UriBuilder Classes
- C# String PadLeft() method
- C# Split String Examples
- C# Zip Method (Use Lambda on Two Collections)
- C# String PadRight() method
- C# Nullable
- C# String Copy() method
- C# Using Alias Example
- C# using Statement: Dispose and IDisposable
- C# File.Move Method, Rename File
- C# String Remove() method
- C# Array.Resize Examples
- C# Array.Sort: Keys, Values and Ranges
- C# Operators
- C# Keywords
- C# Button Example
- C# Byte Array: Memory Usage, Read All Bytes
- C# Byte and sbyte Types
- C# Capacity for List, Dictionary
- C# Case Insensitive Dictionary
- C# case Example (Switch Case)
- C# Char Array
- C# Array.Reverse Example
- C# Random Lowercase Letter
- C# Random Paragraphs and Sentences
- C# Array Slice, Get Elements Between Indexes
- C# Array.TrueForAll: Use Lambda to Test All Elements
- C# Random String
- C# Checked and Unchecked Keywords
- C# ArrayTypeMismatchException
- C# as: Cast Examples
- C# Random Number Examples
- C# Assign Variables Optimization
- C# ASCII Table
- C# ASCII Transformation, Convert Char to Index
- C# CheckedListBox: Windows Forms
- C# AsEnumerable Method
- C# AsParallel Example
- ASP.NET AspLiteral
- C# Line Count for File
- C# Sort by File Size
- C# Line Directive
- C# Sort, Ignore Leading Chars
- C# Sort KeyValuePair List: CompareTo
- C# LinkedList
- C# Sort Strings by Length
- C# List CopyTo (Copy List Elements to Array)
- C# List Equals (If Elements Are the Same)
- C# List Find and Exists Examples
- C# List Insert Performance
- C# Thread.SpinWait Example
- ASP.NET LiteralControl Example
- C# Locality Optimizations (Memory Hierarchy)
- C# lock Keyword
- C# Long and ulong Types
- C# Loop Over String Chars: Foreach, For
- C# Loop Over String Array
- C# Math.Sqrt Method
Related Links
Adjectives
Ado
Ai
Android
Angular
Antonyms
Apache
Articles
Asp
Autocad
Automata
Aws
Azure
Basic
Binary
Bitcoin
Blockchain
C
Cassandra
Change
Coa
Computer
Control
Cpp
Create
Creating
C-Sharp
Cyber
Daa
Data
Dbms
Deletion
Devops
Difference
Discrete
Es6
Ethical
Examples
Features
Firebase
Flutter
Fs
Git
Go
Hbase
History
Hive
Hiveql
How
Html
Idioms
Insertion
Installing
Ios
Java
Joomla
Js
Kafka
Kali
Laravel
Logical
Machine
Matlab
Matrix
Mongodb
Mysql
One
Opencv
Oracle
Ordering
Os
Pandas
Php
Pig
Pl
Postgresql
Powershell
Prepositions
Program
Python
React
Ruby
Scala
Selecting
Selenium
Sentence
Seo
Sharepoint
Software
Spellings
Spotting
Spring
Sql
Sqlite
Sqoop
Svn
Swift
Synonyms
Talend
Testng
Types
Uml
Unity
Vbnet
Verbal
Webdriver
What
Wpf