All C# Extension Methods
-
WhereIf
When building a LINQ query, you may need to involve optional filtering criteria. Avoids if statements when building predicates & lambdas for a query. Useful when you don't know at compile time whether a filter should apply. Borrowed from Andrew Robinson. http://bit.ly/1V36G9
-
ToDictionary() - for enumerations of groupings
Converts an IEnumerable<IGrouping<TKey,TValue>> to a Dictionary<TKey,List<TValue>> so that you can easily convert the results of a GroupBy clause to a Dictionary of Groupings. The out-of-the-box ToDictionary() LINQ extension methods require a key and element extractor which are largely redundant when being applied to an enumeration of groupings, so this is a short-cut.
-
OrderBy(string sortExpression)
Orders a list based on a sortexpression. Useful in object databinding scenarios where the objectdatasource generates a dynamic sortexpression (example: "Name desc") that specifies the property of the object sort on.
-
Dump
Dumps the object as a json string. Can be used for logging object contents.
-
String Extensions
String extensions, download CoreSystem Library from codeplex; http://coresystem.codeplex.com
-
DataReader to CSV
Export DataReader to CSV (List<String>). Basic example that to export data to csv from a datareader. Handle value if it contains the separator and/or double quotes but can be easily be expended to include culture (date, etc...) , max errors, and more.
-
ForEach
Shortcut for foreach and create new list
-
Pivot
Groups the elements of a sequence according to a specified firstKey selector function and rotates the unique values from the secondKey selector function into multiple values in the output, and performs aggregations.
-
FormatWithMask
Formats a string with the specified mask
-
ToPagedList
Paging extension method for NHibernate 3.0 and its new query API QueryOver.
-
AddRange<T>()
I have created this AddRange<T>() method on ObservableCollection<T> because the LINQ Concat() method didn't trigger the CollectionChanged event. This method does.
-
Strip Html
Removes any HTML or XML tags from a string. Super simple, but I didn't see anything here like it. I've created similar methods in the past to take into account things like <script> blocks, but I'm not worrying about that here.
-
Encrypt & Decrypt
Encrypt and decrypt a string using the RSACryptoServiceProvider.
-
ToDataTable
Converts an IEnumerable to DataTable (supports nullable types) adapted from http://www.c-sharpcorner.com/UploadFile/VIMAL.LAKHERA/LINQResultsetToDatatable06242008042629AM/LINQResultsetToDatatable.aspx
-
Generic Enum to List<T> converter
http://devlicio.us/blogs/joe_niland/archive/2006/10/10/Generic-Enum-to-List_3C00_T_3E00_-converter.aspx
-
ToJson() and FromJson<T>()
Convert an object to JSON an back
-
GetCurrentDataRow
The System.Windows.Forms.BindingSource has a property to return the current row as DataRowView object. But most of the time we need this as DataRow to manipulate the data. This extension method checks the Current property of BindingSource for nullity, returns null if it is null and returns the current Row as DataRow object if the Current property is not null.
-
IsDate
Wraps DateTime.TryParse() and all the other kinds of code you need to determine if a given string holds a value that can be converted into a DateTime object.
-
ToCamelCase
Convert a String into CamelCase
-
IEnumerable.Chunk
Splits an enumerable into chunks of a specified size.
-
Enum<T>.Parse() and Enum<T>.TryParse()
Parses the specified string value into the Enum type passed. Also contains a bool to determine whether or not the case should be ignored.
-
SafeInvoke
Properly invokes an action if it is required. Best way to handle events and threaded operations on a form.
-
ToObservableCollection<T>()
Convert a IEnumerable<T> to a ObservableCollection<T> and can be used in XAML (Silverlight and WPF) projects
-
ComputeHash
Computes the hash of a string using one of the following algorithms: HMAC, HMACMD5, HMACSHA1, HMACSHA256, HMACSHA384, HMACSHA512,MACTripleDES, MD5, RIPEMD160, SHA1, SHA256, SHA384, SHA512.
-
IsNull
check value is null
-
Get MaxLength attribute from property of an class
Method returns the max length specificed for property
-
IsNumeric
Checks if a string value is numeric according to you system culture.
-
IList<T> to Excel file
An extension method that produce a excel file of List<T>. This would be useful if you want to automatically generate a Excel out of any other primative data type collection I provided 1 overloads of this method, that accepts a Path as string to save excel file to location on disk.
-
DateRange
A simple date range
-
Mask
A set of extension methods that make it easy to mask a string (to protect account numbers or other personal data). For example, you could mask a SSN of 123456789 to be ******789.
-
Clone<T>()
Makes a copy from the object.
-
SetSocketKeepAliveValues
Using IOControl code to configue socket KeepAliveValues for line disconnection detection(because default is toooo slow)
-
UcFirst
Emulation of PHPs ucfirst()
-
DataTable to CSV export
Export datatable to CSV file
-
ToSecureString
Converts a string into a "SecureString"
-
IfNotNull<T, TResult>
if the object this method is called on is not null, runs the given function and returns the value. if the object is null, returns default(TResult).
-
Force Download any file!
Forces your browser to download any kind of file instead of trying to open it inside the browser (e.g. pictures, pdf, mp3). Works in Chrome, Opera, Firefox and IE 7 & 8!
-
IsNotNullOrEmpty
It returns false if given collection is null or empty otherwise it returns true.
-
Parse<T>
Parse a string to any other type including nullable types.
-
Randomize
OrderBy() is nice when you want a consistent & predictable ordering. This method is NOT THAT! Randomize() - Use this extension method when you want a different or random order every time! Useful when ordering a list of things for display to give each a fair chance of landing at the top or bottom on each hit. {customers, support techs, or even use as a randomizer for your lottery ;) }
-
DeepClone
It returns deep copy of the object.
-
ForEach
Shortcut for foreach
-
Storyboard.BeginAsync()
Begin an XAML Storyboard using the async/await pattern instead of using the completed event.
-
IndexOf<T>()
Returns the index of the first occurrence in a sequence by using the default equality comparer or a specified one.
-
ToCSV
An extension method that produce a comman separated values of string out of an IEnumerable<T>. This would be useful if you want to automatically generate a CSV out of integer, string, or any other primative data type collection or array. I provided 2 overloads of this method. One of them accepts a separator and the other uses comma "," as default separator. Also I am using another shortcut extension method for foreach loop.
-
IsSubclassOfRawGeneric
Is essentially a modified version of Type.IsSubClassOf that supports checking whether a class derives from a generic base-class without specifying the type parameters. For instance, it supports typeof(List<>) to see if a class derives from the List<T> class. The actual code was borrowed from http://stackoverflow.com/questions/457676/c-reflection-check-if-a-class-is-derived-from-a-generic-class.
-
ToCollection<T>()
Convert a IEnumerable<T> to a Collection<T>
-
Deserialize<T>
Deserialize an XDocument to a generic type
-
IsValidEmailAddress
Check wheter a string is an valid e-mail address
-
List To DataTable
List To Datatable
-
Truncate
Truncate the specified string based on the given length. Replaces the truncated data to "..."
-
Shuffle
Shuffles an IEnumerable list
-
IsValidEmail
Validate Email ID in C#
-
IsWeekend
Lets you easily figure out ifdateTime holds a date value that is a weekend.
-
OrderBy
OrderBy is nice, except if you want to sort by multiple properties or want an easy way to distinguish between ascending and descending.
-
Simplify usage of XmlSerializer
Extension for simplify usage of XmlSerializer class. Add extension to any object serialize it to xml. Add extension to string and stream to deserialize objects. All extensions with first check about default constructor
-
Load & Save configuration
Two methods that extends DataGridView control to save and load columns configuration to specified XML file. More informations (in Polish, example in English) at: http://kozub.net.pl/2012/02/22/datagridview-konfiguracja-kolumn-oraz-zapis-i-odczyt-stanu/ http://kozub.net.pl/2012/03/21/c-extension-methods/
-
Slice<T>(int start, int end)
Returns the range of elements between the specified start and end indexes. Negative numbers count from the end, rather than the start, of the sequence. Values of 'end' larger than the actual sequence are truncated and do not cause index-out-of-bounds exceptions. Functionally very similar to Python's list[x:y] slices.
-
Transpose
transposes the rows and columns of its argument
-
Age
Get the actual age of a person
-
IsPrime
Returns true when a integer is a prime.
-
Intersects
Returns true if two date ranges intersect.
-
ToLogString
Creates a string for logging purposes from an Exception. Includes the InnerException(s), Stacktrace et cetera.
-
Distinct
Provides a Distinct method that takes a key selector lambda as parameter. The .net framework only provides a Distinct method that takes an instance of an implementation of IEqualityComparer<T> where the standard parameterless Distinct that uses the default equality comparer doesn't suffice.
-
Left
Returns the first few characters of the string with a length specified by the given parameter. If the string's length is less than the given length the complete string is returned. If length is zero or less an empty string is returned
-
HttpUtility Helpers
Make easily accessible some functions available in HttpUtility into an Extension.
-
ToHashSet<T>
Takes any IEnumerable<T> and converts it to a HashSet<T>
-
IsString
Checks whether the type is string.
-
IsBetween
Checks if the date is between the two provided dates
-
ToList<T>(Func<object, T> func)
Converts an array of any type to List<T> passing a mapping delegate Func<object, T> that returns type T. If T is null, it will not be added to the collection. If the array is null, then a new instance of List<T>() is returned.
-
IsIsin
Determines if a string is a valid ISIN (International Securities Identification Number) code.
-
ToProperCase
Converts string to a title case.
-
IsNullOrEmpty
Determines whether a collection is null or has no elements without having to enumerate the entire collection to get a count.
-
GetAttribute
Makes it easier to retrieve custom attributes of a given type from a reflected type.
-
ToPersianNumber
Converts English Numbers to Persian Numbers
-
ContainsAny
Checks if a given string contains any of the characters in the passed array of characters.
-
IsIn
Determines if an instance is contained in a sequence. Is the equivalent of Contains, but allows a more fluent reading "if item is in list", specially useful in LINQ extension methods like Where
-
IsGuid
Checks to see if a string represents a valid GUID. Source of the function: Original code at https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=94072&wa=wsignin1.0#tabs
-
SetCookie(), GetCookie(), DeleteCookie()
Extension methods on HtmlDocument used to read, write and delete cookies in Silverlight applications.
-
DateTimeFormat
This is extension method for format the data time into the string with pattern specific and current culture. For more information please read at my blog http://weblogs.asp.net/thangchung/archive/2010/11/01/datetime-formating-extension-method.aspx
-
Each<T>
iterates through an IEnumerable<T> and applies an Action
-
IsValidNIP, IsValidREGON, IsValidPESEL
Validation algorithms for Polish identification numbers NIP, REGON & PESEL.
-
TimeSpan ToHumanTimeString
Light-weight extension to output time. If you need additional human readable strings
-
AddWorkdays
A modification to the AddDay function that adds an integer number of weekdays to a date, starting the count at the first weekday after the current day. This is a typical method for calculating B2B service delivery and billing due dates.
-
ToString
Concatenates a specified separator String between each element of a specified enumeration, yielding a single concatenated string.
-
Between
c# version of "Between" clause of sql query
-
ToJson
Json Conversion, uses DataContractJsonSerializer to deserialize item
-
DefaultIfEmpty
returns default value if string is null or empty or white spaces string
-
ToException
Turns any object to Exception. Very useful!
-
Round to Nearest TimeSpan
Rounds a TimeSpan value to the nearest timespan given
-
Cache()
Caches the results of an IEnumerable.
-
ToXML
Serializes an object to XML
-
Equals
Equals method that lets you specify on what property or field value you want to compare an object on. Also compares the object types. Useful to use in an overridden Equals method of an object.
-
IsValidUrl
Returns true when a string is a valid url
-
toSlug
Generate slugs for friendly urls.
-
DrawAndFillRoundedRectangle
Draw and fill a rectangle with some (or all) the angles rounded.
-
Split
somtimes one needs to split a larger collection into multiple smaller ones, this one does so use deferred execution
-
QueryAsync
Returns a Task<IEnumerable<TResult>> to be used with the new async / await keyword.
-
GetPropertyValue
Gets the value of a property in a object through relection
-
TakeUntil
The opposite of TakeWhile, inverts the expression and passes to TakeWhile so that instead of taking while an expression is true, you take until an expression is true.
-
EnumToDictionary
Converts an Enumeration type into a dictionary of its names and values.
-
FirstOrNull
Returns the null when there's null first element in the sequence instead of throwing an exception
-
CreateDirectory
Recursively create directory based on the given path. If the given path doesn't exist, it will create until all the folders in the path are satisfied.
-
GetAttribute
Gets the first assembly attribute of the specified type from the assembly it is called from.
-
TimeSpan Sum
C# LINQ has no Sum method for TimeSpan. Here it is1
-
Include
Type-safe Include: a completely type-safe way to include nested objects in scenarios with DomainServices and RIA in, for example, Silverlight applications. Example: Include(x=>x.Parent) instead of Include("Parent"). A more detailed explanation can be found at http://www.chrismeijers.com/post/Type-safe-Include-for-RIA-DomainServices.aspx
-
IfNotNull
Returns a selected value when the source is not null; null otherwise.
-
GetLastDayOfMonth
Gets the last date of the month of the DateTime.
-
IsNullable
Returns true if the type it is called upon is a System.Nullable<> wrapped type.
-
RemoveAll()
ICollection interface has List type most of time, so this Extension allows to call RemoveAll() method with the same signature like on List
-
Log SharePoint Exception via SPDiagnosticsService
Log SharePoint Exception via SPDiagnosticsService for Debugging (result : 0000 Unexpected My Method Name : Attempted to divide by zero. 220da18b-1517-4230-90ac-91117ceaea33 )
-
SelectRandom
This method selects a random element from an Enumerable with only one pass (O(N) complexity). It contains optimizations for argumens that implement ICollection<T> by using the Count property and the ElementAt LINQ method. The ElementAt LINQ method itself contains optimizations for IList<T>
-
IsBoolean
Checks whether the type is Boolean.
-
Linkify
Takes a string of text and replaces text matching a link pattern to a hyperlink
-
ConvertToByteArray
Convert a Stream to an array of bytes.
-
Move FileInfo and automatically rename it
Moves a FileInfo instance to a specified path and rename it when already existing.
-
Fill/Draw RoundedRectangle
C# extension to Fill and or Draw RoundedRectangle
-
ToUnixTimestamp
Converts a System.DateTime object to Unix timestamp.
-
AsEnumerable
Allows you to treat an IDataReader from a database query as enumerable so that you can perform LINQ operations on it.
-
DateDiff
DateDiff in SQL style. The following DateParts are implemented: - "year" (abbr. "yy", "yyyy") - "quarter" (abbr. "qq", "q") - "month" (abbr. "mm", "m") - "day" (abbr. "dd", "d") - "week" (abbr. "wk", "ww") - "hour" (abbr. "hh") - "minute" (abbr. "mi", "n") - "second" (abbr. "ss", "s") - "millisecond" (abbr. "ms")
-
SerializeToXml
Serializes objects to an xml string. (Does not provide error handling if the object is not serializable.)
-
TryParse
This method takes away the need for writing two lines for TryParse and gives users an option of returning a default number.
-
ContainsAll
Check whether the specified string contains an array of strings for each.
-
ToPlural
Returns the plural form of the specified word.
-
IsNullOrEmpty
Determines whether a collection is null or has no elements without having to enumerate the entire collection to get a count.
-
Contains
Provides an overload to String.Contains to specify a StringComparison (i.e. allows for case-insensitive searches).
-
SplitCamelCase
Split any string using camel case pattern.
-
IsNotNullOrEmpty
Returns true when a given string is not null or empty
-
Memoize<T, TResult>
Memoize afunction
-
Standard Deviation LINQ extension method
Typical standard deviation formula set in LINQ fluent syntax. For when Average, Min, and Max just aren't enough information.
-
Combinations
Returns all combinations of a chosen amount of selected elements in the sequence.
-
ToXml
Converts entire DataTabel To XDocument
-
Filter
Allows you to filter an IEnumerable<T>
-
TimeSpan Average
C# LINQ has no Average method for TimeSpan. Here it is!
-
FirstDayOfMonth / LastDayOfMonth
Simple way to Get the first and last day of the specified date.
-
ConvertTo<T>
Converts an Array of arbitrary type to an array of type T. If a suitable converter cannot be found to do the conversion, a NotSupportedException is thrown.
-
ChangeType
Converts any type to another.
-
ContainsAny
Checks if a given string contains any of the string array.
-
IsNull
Unified advanced generic check for: DbNull.Value, INullable.IsNull, !Nullable<>.HasValue, null reference. Omits boxing for value types.
-
Datatable to List
Datatable to List
-
ToDateTime
Gets a nullable DateTime object from a string input. Good for grabbing datetimes from user inputs, like textboxes and querystrings.
-
CreateExcel
Transforms a DataTable in Excel (xls). Requires Excel Library (https://code.google.com/p/excellibrary/)
-
GetDisplayName()
Converts the pascal-cased Name property of a type to a displayable name.
-
IsOdd
Checks whether a number is odd
-
IsEven
Checks whether a number is even
-
GetMD5
Gets the MD5 value of a given file.
-
Validate Email
Validate email id
-
Uppercase with null check
Converts a string to upper-case but checks for null strings first
-
Aggregate
Since System.Linq.Enumerable.Aggregate throws a System.InvalidOperationException in case the given list is empty you can't use this function in a complex linq expression. This aggregate version simply returns a defaultvalue if the list is empty
-
ScaleImage
Scales a Image to make it fit inside of a Height/Width
-
Replace
This extension method replaces an item in a collection that implements the ilist<t> interface
-
In
C# version of In clause of sql query.
-
ToDecimal
Convert string to decimal
-
AppendLineFormat
Appends a formatted string and the default line terminator to to this StringBuilder instance.
-
GetValueOrDefault<T> for DbDataReader
Helper method to retrieve a nullable value of a column from a datareader.
-
TryDispose
Dispose an object if it implement IDisposable. Especially useful when working with interfaces and object factories, and IDisposable may or may not found on concrete class.
-
ToEnumerable()
Convert an IEnumerator<T> to IEnumerable<T>.
-
Clone<T>
Clones a DataRow - including strongly typed DataRows.
-
ToInt
It converts string to integer and assigns a default value if the conversion is not a success
-
StringBuilder AppendIf
Makes it possible to conditionally append to a StringBuilder while keeping it fluent
-
IsSet
I did not write this I just found it very useful, check http://stackoverflow.com/questions/7244 for original post.
-
IsInRange
Determines if a date is within a given date range
-
EqualsAny
Check that the given string is in a list of potential matches. Inspired by StackOverflow answer http://stackoverflow.com/a/20644611/23199
-
DefaultIfNull
return default value if string is null
-
IsDefault
Returns true if the object it is called upon is the default of its type. This will be null for referece types, zero for integer types, and a default-initialized struct for structs.
-
ToEnum
Parse a string value to the given Enum
-
int.IsNumber()
Checks if an integer is a number
-
GetBoolean(string fieldName), GetDateTime(string fieldName), etc...
Use the Get[Type] functions that are part of the IDataReader but by passing the field name as a string as opposed to the field ordinal as int. Allows assigning default values for null values returned by the datareader.
-
KB,MB,GB,TB
Simplest way to get a number of bytes at different measures. KB, MB, GB or TB,
-
Return<TIn, TOut>
A 'fluent' logic extension method that takes a value (can be anything) and a function that returns another value (can be anything) based on its logic. This is useful for both evaluating and optionally returning a value without declaring a temporary variable for the value.
-
IsValidIPAddress
Validates whether a string is a valid IPv4 address.
-
IsNullOrEmptyOrWhiteSpace
It returns true if string is null or empty or just a white space otherwise it returns false.
-
IsUnicode
IsUnicode
-
Async
Starts execution of IQueryable on a ThreadPool thread and returns immediately with a "end" method to call once the result is needed.
-
IsInRange
Finds if the int is the specified range
-
IsNumeric
Checks if a string value is numeric
-
Enum Name To Display Name
Convert an CamelCase enum name to displayable string
-
NotEmpty
Determines if the object is null or empty. string is evaluated with empty. Collections, Arrays and Dictionaries are evaluated for 0 items (items themselves may be null) All other objects are evaluated as null or not null.
-
Nl2Br
Convert a NewLine to a Html break
-
IsNumeric
Returns true if the type can be considered numeric
-
Flatten
Flatten an IEnumerable<string>
-
Standard Deviation LINQ extension method (with overloads)
Typical standard deviation formula set in LINQ fluent syntax. For when Average, Min, and Max just aren't enough information. Works with int, double, float.
-
ToNull
Turns any object to null
-
FindControl<T>
Generic recursive FindControl.
-
Right
Returns the last few characters of the string with a length specified by the given parameter. If the string's length is less than the given length the complete string is returned. If length is zero or less an empty string is returned
-
Inject object properties into string
Supplements String.Format by letting you get properties from objects
-
Strip
Strip a string of the specified substring or set of characters
-
ToEnum
ToEnum - with nullable type
-
SelectDistinct
"SELECT DISTINCT" over a DataTable. Handles multiple columns selection.
-
Slice of IEnumerable
Returns count elements, beginning from the specified
-
Strongly Typed Databinding
This is an extension that I use for doing strongly typed databinding to controls in a winforms project. I dislike using strings to databind because they do not generate compiler errors when the bound object changes. This extension allows you to, instead of using a string, use an expression to bind to for both the control property and the object property.
-
Session GetValue
A cleaner way to get values from Session
-
DbConnection.ExecuteNonQuery
Execute a SQL command directly on a DbConnection. Needless to say that the other ExecuteXXX methods can be implemented as well. Implementing the method at DbConnection level makes it available for SQLConnection, OleDbConnection, ...
-
GetValueOrDefault
Some time you want to get a nested property but a property in the chain is null then to avoid exception of Null Exception you must check all property in chain opposite of null
-
ReadToEnd
Returns a string with the content of the input stream
-
IsLeapYear
Returns whether or not a DateTime is during a leap year.
-
Append() and Prepend()
Append() adds a value to the end of the sequence. Prepend() adds a value to the beginning of the sequence. This is usefull if you are not using .NET Core or .NET Framework 4.7.
-
Clone
Allows you to clone an etire generic list of cloneable items.
-
FirstOrDefault
First or default extension method for NHibernate 3.0 and its new query API QueryOver.
-
IsBoolean()
Tells whether a value can be coalesced into a boolean
-
IsInteger
Checks whether the type is integer.
-
IsStrongPassword
Validates whether a string is compliant with a strong password policy.
-
WordCount
Count all words in a given string. Excludes whitespaces, tabs and line breaks.
-
Email
Send an email using the supplied string.
-
Reverse
Reverses the order of the list that you wish to enumerate.
-
Popup.ShowAsync()
Show an XAMP Popup using the async/await pattern instead of using the completed event.
-
FindParent
A simple type safe method to find a parent control
-
SelectRows
Wraps the usage of some DataTable.DefaultView properties to return sorted rows filtered on a custom filterexpression. For documentation on what to put in the whereExpression and the orderByExpression, refer to the MSDN documentation of DataTable.DefaultView.RowFilter and DataTable.DefaultView.Sort.
-
ToFriendlyDateString
The idea behind the ToFriendlyDateString() method is representing dates in a user friendly way. For example, when displaying a news article on a webpage, you might want articles that were published one day ago to have their publish dates represented as "yesterday at 12:30 PM". Or if the article was publish today, show the date as "Today, 3:33 PM".
-
Clamp
Limit a value to a certain range. When the value is smaller/bigger than the range, snap it to the range border.
-
ToShamsiDate
Convert DateTime to ShamsiDateString
-
ToMd5Hash
Convert a input string to a byte array and compute the hash.
-
FormatSize
Nicely formatted file size. This method will return file size with bytes, KB, MB and GB in it. You can use this alongside the Extension method named FileSize.
-
GetChildren
This is a recursive function to get all child controls under the target control.
-
Replace
Case-insensitive replace method
-
CSharpCompile
Compiles a string into an assembly. .NET 4
-
Enum HasDescription
Multiple ways to check if an enum has description
-
IsEmpty / IsNotEmpty
Checks if any value type is empty.
-
ToInteger
Convert datatable field to int32
-
GetValue
A bunch of extensions that work with SearchResult to retrieve its data.
-
LeftOf
Returns the left of a string, terminated by a certain character. If the character isn't found the whole string is returned. Ex: string s = "ab-23"; s.LeftOf(s, '-') returns "ab"
-
ThrowIf
Just throw if you can
-
ToEnum
Convert a String Value to Corresponding Enum Value
-
ToHashTable
Converts a DataRow into a Hashtable.
-
Extend
An extenssion function to work like the extend method of javascript. It takes the object and merge with oder, but only if the property of the other object has value.
-
CopyAsync
Method for copying a folder to a new location
-
Format String
Shortcut for System.String.Format
-
Elapsed
Get the elapsed time since the input DateTime
-
ToCsv
Returns a string that represent a csv representation of the referenced T in the IEnumerable<T>. You can also generate a columns header (the first row) with the name of the serialized properties. You can specify the name of the properties to include in the csv file. If you don't specify anything it will includes all the public properties.
-
IsNullOrEmpty
Check either IList object is null or empty.
-
ToString
returns a formatted string on a nullable date
-
EndOfTheMonth
Returns datetime corresponding to last day of the month
-
ToBytes
Converts a file on a given path to a byte array.
-
JSON to XML
json to xml
-
Persian DateTime
Convert DateTime To PersianDate
-
Evaluate/Calculate
This is submitted as two extension methods as they work together. It is based off of an class designed by sfabriz @ http://www.osix.net/modules/article/?id=761 He has another class that does something a little different but I thought this was a wonderful piece of code so encapsulated it here. I only claim authorship of the conversion and not the underlying logic.
-
List AddElement
Make adding to list fluent and conditioned
-
Strip
Strips unwanted characters on the specified string.
-
With and Without
Fake immutability in an existing list class by adding a "With" and "Without" method
-
HasItems
Determines whether an IEnumerable contains any items
-
GetSHA1Hash
Calculates the SHA1 hash value of a string and returns it as a base64 string.
-
FixPersianChars
متدی برای حل مشکل وارد کردن ي و ك عربی توسط کاربر و تبدیل به ی و ک فارسی. توسط محمد کمائی
-
ToStream
Converts a String to a MemoryStream
-
Remove
Removes items from a list based on a condition you provide. I have a feeling this should exist already but I can't find it. You can get the same results using 'where' but this method operates on the collection itself.
-
CopyTo
Copies a stream to another stream using a passed buffer. it also has an overload to pass a buffer length.
-
Concat
Adds an element to an IEnumerable (System.Linq.Concat only adds multiple elements)
-
XML to Json
XML to Json
-
ToColor
Convert a (A)RGB string to a Silverlight Color object
-
Select
It returns reader lines which can be retrieved from lamba statement
-
EndOfTheDay
Returns datetime corresponding to day end
-
ToHtmlTable
Converts an IEnumberable<T> to an HTML DataTable.
-
Add<T>
A generic method to add databinding to a control. This method brings type safety for the sake of better code maintainability.
-
NextSunday
Get's the date of the upcoming Sunday.
-
GetValue
Gets the value of a databinded property-path from an object. The property can have the form "Product.Type.Group".
-
ToPlural
Returns the plural of a word.
-
CSVSplit
Given a line from a CSV-encoded file, split it into fields.
-
IsNullOrDBNull
We all know that objects can be null, but when dealing with databases, a new null type shows up, the DBNull. This extention method detects it along with the null.
-
RemoveDuplicates
Removes items from a collection based on the condition you provide. This is useful if a query gives you some duplicates that you can't seem to get rid of. Some Linq2Sql queries are an example of this. Use this method afterward to strip things you know are in the list multiple times
-
ToNameValueCollection
Splits a string into a NameValueCollection, where each "namevalue" is separated by the "OuterSeparator". The parameter "NameValueSeparator" sets the split between Name and Value.
-
Modify Querystring
Modify the querystring of the current URL (or a passed in URL) to either add, update or remove parameters.
-
Zip
Merges three sequences by using the specified predicate function.
-
ToUrlString
takes a string, replacing special characters and spaces with - (one dash per one or many contiguous special charachters or spaces). makes lower-case and trims. good for seo.
-
IDictionary.GetValue
Better way to read a C# Dictionary
-
ToDictionary<>
Converts any object to a dictionary
-
ToStringFormat
StringFormat Extension Style
-
AddTime
Adds time to existing DateTime
-
Enum.ParseWithDefault
.NET 4.5 version of Enum.ParseUnstrict
-
SetInputScope
Set the InputScope of TextBox on a Windows 7 Phone.
-
Merge
Merges two dictionaries
-
ToMemoryStream
Returns a MemoryStream from a Byte array
-
Limit<>
Limits a value to a maximum. For example this is usefull if you want to feed a progressBar with values from a source which eventually might exceed an expected maximum. This is a generic extension method with IComparable<T> constraint. So every type which implements the IComparable interface benefits from this extension.
-
ToInt32
Convert string to int32
-
convert Internet dot address to network address
Csharp equivalent of Linux / Unix Command: inet_aton. The inet_aton() extension method converts the specified ipaddress, in the Internet standard dot notation, to a network address.
-
SetAllValues
Sets all values.
-
String format
Extention method to string for String.Format
-
DataTableToList
Convert DataTable To List
-
SplitIntoParts
Splits long string into smaller parts with given length.
-
GetPermutations
GetPermutations
-
FirstIndex() and LastIndex()
Finds the index of the first of last occurence which matches the predicate.
-
Dedup
This method will take any DataTable and remove duplicate rows based on any column.
-
CheckSheba
چک کردن شماره شبا وارد شده جهت درست بودن فرمت و الگوریتم آن
-
ToRFC822DateString
Converts a regular DateTime to a RFC822 date string used for RSS feeds
-
GetValue
Get column value bu name from IDataReader.
-
First(), Last(), Any()
Helper methods to simplify development. Prevent common LINQ performance mistakes.
-
IsGuid
Validate if a String contains a GUID in groups of 8, 4, 4, 4, and 12 digits with hyphens between the groups. The entire GUID can optionally be enclosed in matching braces or parentheses.
-
RemoveSpecialCharacters
Sometimes it is required to remove some special characters like carriage return, or new line which can be considered as invalid characters, especially while file processing. This method removes any special characters in the input string which is not included in the allowed special character list.
-
IsDateTime
Checks whether the type is DateTime.
-
Raphe
Compare Strings like in SQL
-
ToString
Returns a formatted string on a nullable double
-
GetScreenSize
Calculates the visual size of a string if it would be displayed on the screen, i.e. as the text of a TextBlock.
-
SplitTo
Splits a string into an enumerable collection of the specified type containing the substrings in this instance that are delimited by elements of a specified Char array
-
AddCssClass
Adds a css class to the webcontrol. Instead of having to pass one string to the CssClass property, you can add them one by one with the AddCssClass extension method. This can come in handy when a webcontrol has a default class (from the ASP.NET markup) and then needs additional classes based on a condition (like whether or not a user is logged in).
-
DataGridView columns visibility configuration window
This code allows you to change visibility of columns of any DataGridView component at program runtime. It shows simple window filled with list of columns of DataGridView. You can check columns on the list you want to be visible. Use this code with my other DataGridView extension methods http://extensionmethod.net/csharp/datagridview/load-save-configuration.
-
ExpandoObject Print
Dynamic Print method for ExpandoObject
-
TimeElapsed
Inspiration for this extension method was another DateTime extension that determines difference in current time and a DateTime object. That one returned a string and it is more useful for my applications to have a TimeSpan reference instead. That is what I did with this extension method.
-
ToUrlSlug
If you get Turkish inputs you can use this method to create url slugs
-
Or
Returns the first string with a non-empty non-null value.
-
AnySafe
Determines if the collection contains any elements. If the argument is null, false will be returned. This is useful when you don't know in advance whether the collection will be null or not.
-
ThisWeekMonday
Returns a DateTime representing the Monday of the current week. Depends on System.Globalization
-
None(), OneOf(), Many(), XOf()
Count-based extensions which make checking the length of something more readable. * Updated on 2010-01-16 following suggestion from @Sane regarding the use of Count() in None(). Switched to Any(). Thanks!
-
ConvertJsonStringToObject
Converts a JSON string to an object
-
ToNullableString()
Calling Value.ToString on a System.Nullable<T> type where the value is null will result in an "Nullable object must have a value." exception being thrown. This extension method can be used in place of .ToString to prevent this exception from occurring.
-
ToUIString
Converts a decimal to a string using the current UI culture
-
IncrementAt<T>
Increment counter at the key passed as argument. Dictionary is <TKey, Int>
-
ToDelimitedString<T>(char delimiter, Func<T, PropertyInfo, string> func)
Map any object T to a delimited string and control how that string is formatted.
-
Piero Alvarez Fuentes
Converts any type to another.
-
UcWords
Emulates PHPs ucwords - capitalize each word
-
Contains
a case-insensitive version of String.Contains()
-
ColumnExists
Returns true if the column exists in the DataReader, else returns false
-
Shuffle
Shuffle an array in O(n) time (fastest possible way in theory and practice!)
-
IsPalindrome
Checks to see if the given text is a valid palindrome or not.
-
Get Percentage
Gets the specified percentage of the given value.
-
LCM
Uses the Euclidean Algorithm to determine the Least Common Multiplier for an array of integers
-
ConvertTo
Método de Extensión para convertir un String a cualquier tipo de Dato
-
IsNullOrEmpty
Check whether a collection is null or doesn't contain any elements.
-
Fill
Different way to use String.Format
-
RightOf
Return the remainder of a string s after a separator c.
-
IsSingle
Determines whether the collection has exactly one element
-
Pipe
It is like pipe operator in F# and is useful for chaining function calls especially in expressions. (More in http://foop.codeplex.com/)
-
Repeat
Repeat a string N times
-
Shuffle
Shuffle an ArrayList in O(n) time (fastest possible way in theory and practice!)
-
AddJavaScript
Dynamically adds a javascript file (.js) to a page even if using master page.
-
If
Executes a function if a given predicate is true
-
IEnumerable.None
The opposite of Any(). Returns true if the collection is empty, or if no item matches the predicate.
-
ToBytes
Convert image to byte array
-
IsLeapDay
Checks if the current day is a leap day
-
IndexOf
Gets the index of the give value in a collection. Is overloaded to take a start parameter as well.
-
GetQueryStringValue
Gets a query string value from a System.Web.UI.UserControl HTTP Request object.
-
ThrowIf
Throw's a given exception is a given predicate is True
-
Like SQL on C#
An C# extension method based on "LIKE" operator of T-SQL.
-
Chain
Allows chaining together actions to be taken place on the fly. It works with any object. Its a simple concept but I couldn't find any examples that does the same.
-
AppendLine (overrride)
Adds an override to the System.Text.StringBuilder AppendLine method which takes a second parameter so can be used like AppendFormat but also creates a new line.
-
NullDateToString
Prints out a nullable datetime's value (if its not null) in the string format specified as a parameter. A final parameter is specified for what to print if the nullable datetime was, in fact, null.
-
ToNull
Turns any object to null
-
AddToEnd
Adds an item to a listbox as the last item, and makes sure it is visible.
-
Resize
takes a byte[], and ints for width/height. returns a byte[] for the new image. keeps a static copy of previously provided sizes to reduce GC activity.
-
Object properties to dictionary converter
Takes all public properties of any object and inserts then into a dictionary
-
Chooser.ShowAsync()
Show Windows Phone Choosers using the async/await pattern instead of using the completed event.
-
IsInDesign
Provides a mechanism to wrap WPF user control code that causes an exception on the host WPF window. Notes: I use a separate DLL for all of my extensions which can cause additional challenges. Here are some tips; There are 3 assemblies required 2 of which are easy to add unless you know there nuances; "System.Windows.Controls" this requires "PresentationCore" & "PresentationFramework". "System.Windows" was the most interesting. Look for WindowsBase.DLL if you don't find a reference. Be sure it matches the .Net Framework version you are using..
-
PathCombine
Combines an IEnumerable<string> using Path.Combine(), which will use the separator character that is correct for the platform used. It is a shorter and more correct way to combine paths than just using + "\\" + . Requires "using System.IO;" at the top of your extension method class.
-
ToDictionary()
Converts an IEnumerable<IGrouping<TKey,TValue>> from a GroupBy() clause to a Dictionary<TKey, List<TValue>>.
-
Multiply
Multiplies a TimeSpan by a number (int)
-
Generates a Hyper Link to redirect user to Authentication form
this method generates a Hyper Link to redirect user to Authentication form . gets Titla attribute of tag and inner Text of Tag and generate tag A . then returns user to referrer page .
-
ElapsedSeconds
Gest the elapsed seconds since the input DateTime
-
ToDataTable
Used with IDataReader to return a DataTable from the reader.
-
IsTrue
Returns 'true' if a Boolean value is true.
-
ClearControls
clean the controls on a form. Please send suggestions.
-
Sort (Comparison<T> comparison)
stable, in-place sort (mergesort) of a LinkedList<T>. LinkedList<T> has O(1) insertion, great for large lists. this lets you sort it.
-
DeleteFiles
Deletes the files in a certain directory that comply to the searchpattern. The searchpattern can contain * and ? (the normal wildcard characters). The function can also search in the subdirectories.
-
GetMostInner
Gets the most inner (deepest) exception of a given Exception object
-
RemoveTicks
Legible way to remove ticks from a datetime. Use instead Add negative days
-
FormatSafe
Formats a string safely, without throwing any exceptions. Adds an exception message to the resulting string instead.
-
TakeFirst
Returns the first X characters from a string.
-
AddCSS
Dynamically adds a cascading style sheet (a.k.a. CSS) file to a page even if using master page.
-
ToSentence
Creates a sentence from a variable name.
-
Identity
Returns the identity of a value
-
WriteToConsole
Write all elements in the Enumeration to the Console
-
EqualsByContent
Checks if two DataTable objects have the same content.
-
AsBoolean
Converts a string to a boolean value if possible or throws an exception
-
ToOracleSqlDate
Converts a Timestamp to a String which can be used in a Oracle SQL Query
-
ItemArrayString
combin datarow's field value to string
-
SpinThread
Spins up and executes the action within a thread. Basically fire and forget. Real big question here. Does anybody see any issues with thread management? I would like to update this with any code necessary to manage thread cleanup if necessary. I realize that this has the ability to create unsafe thread referencing if not written such that the contents of the action are exclusive to the scope of the action, but that is outside the purview of this extension
-
BeginningOfTheMonth
Returns datetime corresponding to first day of the month
-
RewindAndPlay
When a silverlight MediaElement finishes playing, it does not rewind automatically. This extension method sets the MediaElement position at Zero and starts playing.
-
Enum.PaseUnstrict
Permit Enum Parse everytime with valid values using a defaultValue param
-
IsNull
Essentially the implementation of the sql 'isnull' function, allowing the string type (when null) to be replaced with another value.
-
TryGetAttribute
Try/Get pattern for XDocument attributes
-
BeginningOfTheDay
Returns datetime corresponding to day beginning
-
In
Allows you to compare a value to a list of values analogous to the 'In' statement in sql. This makes for a very friendly syntax that is (IMHO) superior to a list of 'or' clauses. Instead of : if (s=="John" || s=="Peter" or s=="Paul") one can write if (s.In("John","Paul","Peter"))
-
Convert
Converts from one type to another.
-
FindChildByName
Uses the VisualTreeHelper in a WPF application to find a child of the type FrameworkElement by its name recursively.
-
ToArray
Returns an array of int containing all caracters that compose the number.
-
ThisWeekFriday
Returns a DateTime representing the Friday of the current week. Depends on System.Globalization.
-
ToImage
Create a new Image from a byte array
-
GetParentDirectoryPath
On the layers of the directory path of a directory
-
IsNullOrEmpty
This extension increase the readability of your code.
-
RemoveAtFast
Fast version of the RemoveAt function. Overwrites the element at the specified index with the last element in the list, then removes the last element, thus lowering the inherent O(n) cost to O(1). IMPORTANT: Intended to be used on *unordered* lists only.
-
Squared
Returns the squared value
-
GetValue
Simply returns the value property from an XmlNode whether it's null or not. Simplifies using XmlDocuments.
-
GetOrThrow(string connectionStringName)
By default, ConfigurationManager.ConnectionStrings returns null if the requested connection string doesn't exist. Use this extension method if you want something a bit more snappy - an exception.
-
DeleteChars
Remove from the given string, all characters provided in a params array of chars.
-
Sort algorithms
This is a set of extesion methods that sort a given list more about that on codeplex
-
toggle for bool
Toggle to bool
-
CountOf
Returns whether the sequence contains a certain amount of elements, without having to traverse the entire collection.
-
FileSize
Get the file size of a given filename.
-
Repeat
Repeats a character a given number of times, a little cleaner shortcut than using the string constructor.
-
Thread safe event raising
Allows thread-safely raise any event.
-
Paul Kemper
DoubleBuffer any control
-
GetSize
This method extends the DirectoryInfo class to return the size in bytes of the directory represented by the DirectoryInfo instance.
-
Apply a function
applies a function to the given value - best used with static methods
-
IsVowel
Recognizes vowels in European languages #i18n
-
IsNullOrEmpty
Checks if the collection is null or empty
-
DefaultIfEmpty
The provided DefaultIfEmpty will only accept an instance of T as the default value. Sometimes you need the default to be an IEnumerable<T>.
-
Reverse
Reverse a string
-
CombineWith()
Combines two strings (potentially each of them can be null) with an optional given separator the way you expect. Default separator is a single space.
-
GetAttributes
Gets an enumeration of assembly attributes of the specified type from the assembly it is called from.
-
IndexOfOccurence
Finds the index of the nth occurrence of a string in a string
-
FindMin() and FindMax()
Selects the object in a list with the minimum or maximum value on a particular property
-
LengthOfTime
return the length of time between the start and current date
-
GetStrMoney
this method is convert integer or float money data to separated comma string that is simple to read
-
Call Action / Func
Allows user to call an action / func delegate without having to check for null delegate
-
ForEach
Foreach inline for the IEnumerable<T>.
-
TrimDuplicates
Trims or removes duplicate delimited characters and leave only one instance of that character. If you like to have a comma delimited value and you like to remove excess commas, this extension method is for you. Other characters are supported too, this includes pipe and colon.
-
IsLastDayOfTheMonth
Returns whether the given date is the last day of the month.
-
IsEqualMoney
Compares two money (decimal) variables ignoring differences above 0.01. Useful for comparing two calculated decimals. 73,414.IsEqualMoney(73,41) returns true.
-
RemoveSelectedRows
Removes all selected rows from datagridview and returns the response on success
-
join
--
-
To
Creates a range of integers as an IEnumerable<Int32>.
-
SecondsToString
Converts the number of seconds to a string displaying hours and minutes
-
ListFiles
List/Get all files in a specified folder using LINQ. Doesn't include sub-directory files.
-
IsNullOrEmptyThenValue
برای حل مشکل مقدار پیشفرض وقتی مقداری وجود ندارد
-
IfType
Execute code only on certain types
-
ForEachControl
Runs action delegate for all controls and subcontrols in ControlCollection.
-
CSVQuoted
If a string contains a space or a comma or a newline, quotes it, suitable for a field in a CSV file.
-
ToStringReccurent
Sometimes it is required to collect exception information in textual format. This method serializes general info about exception and all included exceptions reccursively. I'm using this for sending email error reports.
-
Combine
Combines parts of 2 byte arrays
-
IsNull
This method returns true if the value is null otherwise it returns false
-
FindControlR
Recursive find control method used for finding controls within templates.
-
RenameColumn
Rename a code that allows only stating the current name column and a new name.
-
Tail
Set the stream position to the place where for example 10 lines will be returned when read to end.
-
DoubleBuffered
DoubleBuffer any control
-
CloneExplicit<T>
Creates an explicit copy of the given enumerable where the only values copied are the ones you designate.
-
ToException
Conveniently produces a exception from a given string.
-
Is
simple fluent assert for MSTest
-
UpdateCollection
Updates items from the collection using a modified version of this collection. Useful in MVVM scenarios needing cancellable edition and delayed persistence.
-
CopyToFile
Writes the specified StringBuilder to the file using the specified path. If the file already exists, it is overwritten.
-
IntToGuid
Converts an integer to a Guid. This could be used within a unit test to mock objects.
-
ToSolidColorBrush
Converts a uint (0xFFb2b2b2) to a Silverlight SolidColorBrush object.
-
IsDerived
Checks whether the type is derived from specified type or implemented of specified interface.
-
ToString(NullOptions)
This ToString() version is null aware. That means it has different behaviors if the object's value is null or DBNull according to the NullOptions enum.
-
Load & Save form configuration
This extension methods allows you to load/save location, size and window state (normal, maximized, minimized) of any form to single XML file at program runtime.
-
GzipString
if you want to lost wight of string , you can use gzip
-
Length
Determines how many numbers compose the integer if it was represented as a string.
-
GetUri
Get the uri to an file
-
GetRandomItem
Return's a random item from a IList<T>
-
In
Returns true if this string is any of the provided strings. Equivalent to IN operator in SQL. It eliminates the need to write something like 'if (foo == "foo1" || foo == "foo2" || foo == "foo3")'
-
Resize To Text Width
Resizes width of a Windows control to the text that contains.
-
SplitUp()
This SplitUp() extension method takes a sequence and splits it up into subsequences that each have a maximum length. See http://peshir.blogspot.nl/2011/02/example-of-c-lazy-functional.html for more information.
-
IsNull
A better IsNull() implementation. Returns true if object value is null or DBNull
-
EnsureFileNameIsUnique
Ensures given file name will return a unique file name, using the format Filename - Copy, or Filename - Copy (n) where n > 1
-
DateTimeFloor;DateTimeCeiling
Floor, Ceiling, Midpoint and Rounding calculations for various time intervals.
-
DeleteFiles
Delete all files found on the specified folder with a given file extension.
-
کد کردن و دی کد کردن رشته در C#
mrchsoft.com
-
SelectItem
Select a item in a DropDownList by value.
-
Accept
Provides a generic visitor Method Extension for more information, please have a look at my blog post : http://www.dotnetguru2.org/nicolaspenin/index.php?title=generic_visitor_implementation_thanks_to_0&more=1&c=1&tb=1&pb=1
-
Upgrade
Upgrades an ArrayList to a generic List
-
Increment
Increments a integer number by one
-
DoesNotEndWith
It returns true if string does not end with the character otherwise returns false. If you pass null or empty string, false will be returned.
-
FindControlByType
Used in conjunction with GetChildren(), it will return a T from a list of children of a control. If you are looking to return a list of T, use FindControlsByType() at http://www.extensionmethod.net/Details.aspx?ID=310 Get Children is located at: http://www.extensionmethod.net/Details.aspx?ID=309
-
ToInt
tries to parse a string to an int, returns zero if it is unable to parse
-
ToView
Extend collections implementing IList to return a DataView. In cases where filters need to be applied to data, this extension will prove handy.
-
ToBytes
Convert a string to a byte array
-
FromAppSettings
Get a value from AppSettings section of Web.Config and change its type to the correct one or return a default value in case the key doesn't exists.
-
GetDate
Return the current date and time
-
SetInitialFocus
Set the initial focus for a Silverlight ChildWindow.
-
ToLocalCurrencyString
Convert a double to a string formatted using the local currency settings.
-
Add
Add an string array to ListControl ( dropdown, listbox, radiobuttonlist, checkbox).
-
IEnumerable(string).Join
Joins a series of strings connected by a separator.
-
Product
Computes a product of all elements in the sequence.
-
ThrowIfDefault
Throws a given Exception if the given object is equal to the default value for the type
-
IndicesOf
Finds all the indexes of the give value or values in an enumerable list
-
Times
Repeats an action a number of times.
-
IfIs<T>
optionally executes an Action if the object is of the given type.
-
IsStatic
Determines if a type is static by checking if it's abstract, sealed, and has no public constructors.
-
KB
Simplest way to get a number of kilobytes.
-
ToObservableCollection
Copies elements from IEnumerable<T> into ObservableCollection<T>. Handy for converting LINQ results into a list appropriate for WPF databinding.
-
bool IsSorted (Comparison<T> comparison)
returns true if a sequence is sorted
-
DefaultValue
Returns a the value of a Nullable type if it has a value or it will return a default value
-
Extended Extension
Beukes
-
ResizeAndFit
This method resizes a System.Drawing.Image and tries to fit it in the destination Size. The source image size may be smaller or bigger then the target size. Source and target layout orientation can be different. ResizeAndFit tries to fit it the best it can.
-
IsNotNull
This method returns true if the value if not null otherwise it returns false.
-
ToTiny
Converts a given URI to a TinyUrl.com address. Utilises the TinyUrl.com website so requires that the application can access the server
-
SkipLast
take all but the last item from an IEnumerable<T>
-
Upgrade
Upgrades a hashtable to a generic dictionary
-
To
converts one type to another
-
MB
Simplest way to get a number of megabytes.
-
EnqueueAll
Enqueues all objects from an IEnumerable<T> to the specified queue.
-
ConcatTo
Adds a single element at the beginning of an enumerator
-
GetImageCodecInfo
Gets the ImageCodecInfo that corresponds to a ImageFormat.
-
ToObservableCollection<T>()
Convert a IEnumerable<T> to a ObservableCollection<T> and can be used in XAML (WPF, Silverlight, Windows Phone & Windows Store) projects
-
CacheGeneratedResults
Caches the results of generator methods so that expensive enumerations are not repeated if they are enumerated multiple times. Yet it caches the results lazily, allowing for memory efficiency where possible.
-
MultiplyBy
A simple multiplication extension. Backing idea is to overcome the ridiculous flaw in the Int32 value type when a regular multiplication overflows the Int32 value range. Along these lines it would also be possible to gracefully return larger values as e.g. longs, or as BigInt (when the BCL team gets around to implementing it ;-). But the example here sticks to the bounds of the Int32 range.
-
ExcelColumnName
Returns the excel column name from a column index
-
WriteXMLForReport
Many times you need an XSD file for a report. I have created this extension to write the xsd based on the data table I feed it into the directory I set.
-
CleanBRTags
Remove HTML <br \> tags from the string
-
LessThan
Returns a boolean value of true if the item being compared is less than the value of the parameter.
-
DataBind
Bind to a ListControl (Dropdownlist, listbox, checkboxlist, radiobutton) in minimal amounts of code. Also returns true false if items are in the control after binding and sets the selected index to first value.
-
DoesNotStartWith
It returns true if string does not start with the character otherwise returns false if you pass null or empty string, false will be returned.
-
ToDistinctDictionary
Creates an IDictionary<TKey, TValue> from the IEnumerable<TSource> instance based on the key selector and element selector. This is distinct by using the built-in index of the dictionary instance for either adding or updating a keys corresponding value.
-
CamelCaseToHumanCase
Turn any string formed with camel case into a human cased string.
-
In
Returns true when a number is included in the specified collection.
-
IsMobileValid
For Philippine mobile code but can also be adjusted based on your mobile network code. Check if the given number is a valid formatted international number.
-
Convert
Converts all elements in an enumerable list from the its to a destination type by calling a provided conversion function
-
Clear
clear the contents of a StringBuilder object
-
RemoveColumn
Code that allows deleting a column stating the name
-
Paramaters
This extension method will return all the parameters of an Uri in a Dictionary<string, string>. In case the uri doesn't contain any parameters a empty dictionary will be returned. Somehow I can't believe there is no standard method to do this though... Any additions and/or comments are quite welcome :)
-
FolderSize
Using LINQ, gets the total size of a specified folder. It can also check sizes of subdirectory under it as a parameter.
-
WithVar
Improve readability of string.Format
-
FindControlsByType
Used in conjunction with GetChildren(), it will return a list of T from a list of children of a control. Get Children is located at: http://www.extensionmethod.net/Details.aspx?ID=309
-
ToSpecificCurrencyString
Convert a double to a string formatted using the culture settings (string representation) passed into the procedure.
-
RandomElements
Returns a number of random elements from a collection
-
RemoveCssClass
Removes a css class from the webcontrol. Let's say you have a webcontrol (a label for example) with more than one css class: "defaultClass loggedIn". With the RemoveCssClass extension method, you can easily remove one of them.
-
IsNullThenEmpty
A handy extension method for System.String that eliminates this pattern when trying to avoid null reference exceptions. if (someString==null) someString=string.Empty;
-
Repeat
for Repeat String .
-
IsNullOrEmpty
Indicates whether the specified IEnumerable collection is null or empty
-
REExtract
Extracts all fields from a string that match a certain regex. Will convert to desired type through a standard TypeConverter.
-
GetPropertyValue<T>
Get the base value of CrmProperty object. This is used for interacting with DynamicEntity on Microsoft CRM.
-
TimesSelector
Inspired from ye good old ruby on rails, provides you with new DateTime instances based on an integer you provide. Look at realfiction.net -> extension methods for more detail
-
IsDefaultForType
Returns true or false depending on if the given object is equal to the default(T) value of the type.
-
AsDoesntThrow
Wraps an action with a try...catch of a specific exception
-
IsBetween
Checks whether the given integer value is between the start and end value.
-
Join
This extension method joins the StringBuilder values
-
AddWorkDays (fixed version)
Fixed version of AddWorkDays
-
Randomize
Randomize the Items in the list
-
LoadBitmapFromResource
Create new Bitmap from resource image
-
ContainsNumericChars
returns true if string contains numeric chars
-
Find Sharepoint List Anyway
this method find your list without any Exception by List Name , Title and ListID
-
Between
Works on Comparables to check whether the checked value is between two other values. Check relaifciotn.net -> extension methods for more details.
-
InvokeAction
A set of Dispatcher extenstions that make it easy to cleanly queue lambdas on the Dispatcher.
-
GetFirst
get fist n charactor in string
-
Split
Extension method to split string by number of characters.
-
LastChar
Select Last character in string .
-
ToSortedString
Returns an alphabetically sorted list for all public and instance properties, along with its associated values.
-
WrapEachWithTag
Creates a string that is each the elements' ToString() values wrapped in the 'tag' that is passed as a param. Good for converting an IEnum<T> into a block of HTML/XML.
-
In
Determines whether a IEnumerable<T> contains a specific value
-
WriteTo
Writes the entire contents of this stream to another stream using a buffer.
-
IsNotHidden
Filters out directories that are hidden
-
Cycle
Repeats a sequence forever.
-
ThrowIfAny
Throws a given exception is any value in a set passes a given predicate
-
TimesOrUntil
Attempts to retrieve a valid a result from your function one or more times with an optional 'in between' step (i.e. delay). Replaces a common code pattern with a more readable, shared pattern.
-
ExcelColumnIndex
Returns the excel column index from a column name
-
RemoveClickEvent
Remove click event from given button.
-
HandleOnce
Creates a wrapper for the given event handler which unsubscribes from the event source immediately prior to calling the given event handler.
-
SplitPascalCase
Splits the given string by pascal case.
-
ScrollToBottom
Scrolls to the bottom of a Textbox.
-
In
Filters a list based on a comma-separated list of allowed values. This is a lot more concise than using a number of 'or' clauses
-
Split
Split by expression
-
NextDayOfWeek
Will return the next occurring day of week
-
ContainsSameKeys<>
Checks if the two dictionaries have the same keys
-
IsValidCodeMelli
صحت کد ملی
-
RandomString
Return a random string of a chosen length
-
ToReversedDateTime
Takes a DateTime object and reverses it to an SQL type string (yyyy-mm-dd hh:MM:ss)
-
EnqueueWithCapacity
Sometimes you may need a Queue<T> that, once it hits a capacity, dequeues items automatically to maintain a certain maximum. While it may be best to derive a new type from Queue<T>, this will get it done much more quickly. This is very useful for maintaining a rolling average or a "history" feature.
-
ToException
String Typed Exception Extension
-
ContainsAll
Check if the string contains all the elements in the array.
-
To
Allows enumaration of sets of characters by expressing them as a range, for example all the lowercase characters. Allows reverse order as well.
-
Shorthand Task.Factory.FromAsync (for .NET 4.0)
This extension method series represent shorthand version of Task.Factory.FromAsync (for .NET 4.0)
-
Slice()
Takes a section of a string given the start and end index within the string.
-
GetMonthDiff
Compute dateTime difference
-
Between
c# version of "Between" clause of sql query with including option
-
HasMultipleInstancesOf
Determines whether a string has multiple occurrences of a particular character. May be helpful when parsing file names, or ensuring a particular string has already contains a given character. This may be extended to use strings, rather than a char.
-
WPF Controls Lists
Using extensions to provide a similar "Winforms.Controls" collection functionality. When implementing generics with System.Windows.Window extensions the VS2013 compiler starts throwing random exceptions, so following is using a static wrapper and each control type has to separated. On tested using VS2013..
-
RemoveTraillingZeros
Remove trailling zeros from a decimal value
-
SplitNext
Split the next part of this span with the given separator
-
GetMessages
Return all messages after call Validate method on Microsoft EnterpriseLibrary Validation Block
-
Claim Value
C# with get claim value
-
HasValueAndEquals
Substitutes this: int? index = GetIndex(); if (index.HasValue && index.Value == 10) ...
-
ConstrainToRange
Many times you may wish to impose boundaries on what a certain variable can be. This is especially useful for validating user input. For any comparable, it simply returns the value, truncated by a minimum or maximum
-
ToNullable
Converts a string to a primitive type or an enum type. Faster than tryparse blocks. Easier to use, too. Very efficient.
-
GetChoiceFieldValues
this method find items of a Choice Field in a Sharepoint List
-
ContainsAny
Returns if a given string contains any of the characters provided in a params array of strings.
-
ImplementsInterfaces(List<Type> types)
Determines if a class object implements an interface type and returns a list of types it actually implements. If no matching type is found an empty list will be returned.
-
NullStringToEmptyString
If input is null, returns empty string. Otherwise returns original input. After using this method, you can use all string methods without the danger of null exception.
-
Each
Iterates over all the elements in a collection and performs the given action, usually given as a lambda.
-
InnerTruncate
Truncates the given string by stripping out the center and replacing it with an elipsis so that the beginning and end of the string are retained. For example, "This string has too many characters for its own good."InnerTruncate(32) yields "This string has...its own good."
-
GetResponseWithoutException
Allow to get the HttpWebResponse event if the request wasn't successful, in order, for example, to know what went wrong
-
ReverseString
for reverse string
-
Randomize
Randomizes am IEnumerable<T>
-
GetStringInBetween
Get string in between two seprators
-
Say
Speaks any object using the speech synthesis API
-
GetNestedXml
This one allows you to get nested XML from within a node. Let's say you're parsing an HTML file using the XDocument class and you want to pull out the nested code including tags. This is what you can use!
-
ApplicationBuilderExtensions
.Net Core use package.json files
-
ConvertDataTableToHTML
Extension Method which converts Datatable to HTML table
-
DeleteWithPrejudice and Purge
These 2 extension method allows you to delete a folder or just purge all the folder content even if there are Readonly, System, and/or Hidden attributes files in it. The default Delete method doesn't work if there are files with Readonly, System, and/or Hidden attributes.
-
ValidateNumber
Validates that input text is a number
-
ToMouseInfo
Converts a complex multitouch, pressure sensitive silverlight stylus object to a simple MouseInfo object.
-
FristChar
Select Frist character in string .
-
In
Checks if object is any of provided values separated by comma
-
DataTable to List
Datatable to List
-
GetData<T>
Get a saved value from the app domain and convert it back to its original type
-
MaxObject
Selects the object in a list with the maximum value on a particular property
-
Intuitive date creation
Allows you to create date very easily, like 19.June(1970)
-
FindCommonAncestor
Finds the nearest common ancestor for type based on the inheritance hierarchy.
-
ShowWebPage
This extension method trigers the default navigator with the address pointed by the string
-
StartOfWeek
TakeStartOfWeek
-
EF IQueryable OrderBy string Extension
EF 에서 문자열로 정렬 컬럼 지정하고 싶을때 사용하면 됩니다.
-
Quick writeline
Write a variable to System.Diagnostics.Debug.WriteLine() (Or other output method)
-
ForDatabase
For use with old school ado.net database command parameters. This basically converts the string to System.DBNull.Value if the string is null else it returns the string.
-
Delegate Type Casting Extension Methods
These extension methods enable type casting between generic Action, generic Func, EventHandler, generic EventHandler and non-generic Action, non-generic Func, non-generic EventHandler as well as generic EventHandler and non generic EventHandler delegates in mscorlib and System.dll assembly.
-
In
Determines whether a variable of type T is contained in the supplied list of arguments of type T, allowing for more concise code.
-
Formating
formating the string with a custom user-defined format. # sign is input characters.
-
ContainsNoSpaces
Checks if a string contains no spaces
-
FindImmediateParentOfType<T>
An extension method to find the parent control of a specific type in asp.net
-
GetSelectedValue
Get the selected value of a DropDownList by returning the value stored in the forms collection. This allows you to turn EnableViewState off on a DropDownList and still easily retrieve the selected value
-
IsMatch
Matches yourFace to myButt
-
LimitTextLength
Limits a piece of text to a certain maximum length for the purpose of showing it to the user as part of some (G)UI or report that has limited space.
-
ToNullable<> Generic String Extension
Converts a string to a primitive type T, or an enum type T. Faster than tryparse blocks. Easier to use, too. Very efficient. Uses generics so the code is cleaner and more robust than doing a separate convert method for each primitive type.
-
TakeFrom
Returns the remaining characters in a target string, starting from a search string. If the search string is not found in the target, it returns the full target string.
-
ReplaceIgnoreCase
ReplaceIgnoreCase
-
ToStringLimit(limit)
Save values checking length
-
String.IsNotNullThenTrim
Perform a Trim() when the string is not null. If the string is null the method will return null.
-
BinarySerializer
BinarySerialize a List<T>
-
DateTime Use in Library SystemManagement
this extension method is Used in Library System Management for return Recive book Date if you use this method this add to Date.Now 14 Days with change the Year and Month Day
-
WherePrevious
Compare Through a predicate every element of a list with the previous one
-
UppercaseFirstLetter
Upper case first letter
-
WriteToXML
Serializes objects into and from XML documents
-
Cached
Cache result of IEnumerable iteration. Similar to other implemetations with two advantages: 1 - Not flawed (Dispose of IEnumerator done by compiler) 2- Simplier
-
AsNullSafeEnumerable
You don't need check whether the collection is null.
-
NullableSum
Takes an array of nullable values and sums them up. Can be easily replaced with int?
-
ToDouble
Converts a string to a double
-
FindParent(string parentName) - For XElement
Find parent XElement from a provided name. Returns null if no match
-
timeToDecimal
Convert string time(hh:mm) in decimal
-
IndicesOf
Gets all the indexes in which a certain substring appears within the string.
-
GetTotalMonthDiff
Compute dateTime difference precisely
-
FormatIf
Conditionally formats any value type based on a Lambda Expression
-
GetFilesInVirtualDirectory
This extension method acts similarly to Directory.GetFiles except that the directory path is expressed as a virtual directory.
-
StringToTimeSpan
Converts a string to a timespan
-
AppendNode
Append new child XmlElement to base XmlElement.
-
decimalToTime
Convert decimal in string Timeformat (hh:mm)
-
GetSaturday
This code will provide the Sunday DateTime from the week of DateTime object the extension method is called from.
-
InsertSorted
Insert an item to a sorted List
-
IsDate
Determines if specified string is DateTime. Its an improvement on Phil Campbell's version
-
GetAttribute
get custom attribute helper
-
RemoveRightIfPresent
Removes end of string if it equals to parameter, otherwise returns origin string
-
TimeSpanToString
Converts a timespan to a string displaying hours and minutes
-
Id
Identity function
-
Pleuralise
A simple method that adds 's' onto words. used when you return x record(s)
-
IfNullElse
Check if string is null or white spaces and return null alternate value
-
IsNotIn
Determines if an instance is not contained in a sequence. Is the equivalent of Contains == false, but allows a more fluent reading "if item is not in list", specially useful in LINQ extension methods like Where.
-
Perason Correlation Coefficient for a datatable
An extension method that add the possibility calculate the Pearson correlation coefficient using the names of two columns of the data table in question.
-
IsMatchRegex
Check if a string is match with given regular expression pattern
-
IsNullThen
Replaces NULL with the specified replacement value.
-
String write/save in file
String save/write in file
-
EntryEquals
Extension method for comparing dictionaries by elements (key pair values)
-
NumericUpDown SafeValue()
http://peshir.blogspot.nl/2011/02/safely-set-numericupdown-control-value.html
-
IntegerToTimeSpan
Converts an integer to a timespan
-
SetLiteralText
Often you have to set the text of lots of literal when databinding a ListView control in ASP.Net. This method lets you write that in one line.
-
GetSunday
This code will provide the Sunday DateTime from the week of DateTime object the extension method is called from.
-
DrawCircle
Draw circles on Unity GameObjects
-
GetMatchValue
Returns a collection of string that matched on the pattern.
-
GetValue
Retrieve Querystring,Params or Namevalue Collection with default values
-
Nullable Coalesce
Coalesce any like nullable types.
-
BinaryDeserializer
Deserializa um arquivo binario em uma lista generica
-
BooleanExt
Extension Method to Execute Delegate Based on Boolean Value
-
Chainable List.Add / typesafe
Allows you to chain .Add method
-
XML TO Class
Parse XML String to Class
-
Add Data to Dropdownlist,Radiobutton List etc.
Add Data to Dropdownlist,Radiobutton List etc
-
EqualsByValue
Determines whether two String objects have the same value. Null and String.Empty are considered equal values.
-
Kerollos Adel
insert item in the top of list
-
ToFirstAll
This method makes the caps for all words in a string
-
ConvertToDateTimeNullable
ConvertToDateTimeNullable
-
Stuart Sillitoe
Emulation of PHPs ucfirst()
-
Replace
Use this extention method with a lambda expression to replace the first item that satisfies the condition
-
NextAnniversary
Calculates the next anniversary of an event after the initial date on the Gregorian calendar. Use the original event date or the event month/event day as a parameters. The optional parameter, preserveMonth will determine how to handle an event date of 2/29. Set to true will use February 28 for a standard year anniversary and set to false will use March 1 for a standard year anniversary.
-
Arithmetic Expression Validate
Validate a string arithemetic expression
-
RequireOrPermanentRedirect<T>
Use this method to easily check that a required querystring both exists and is of a certain type. This lets you fire off a few checks in your page_load and then write the rest of the code on the page safe in the knowledge that the querystring exists, has a value and can be parsed as the intended data type. If the querystring is not present or is an invalid type the user is sent to the RedirectUrl. Urls starting with a tilde (~) are also supported. This url is normally the next logical level up the tree such as an admin manaagement page, a product index page or if there isn't an appropriate page then you can send the user back to the homepage.
-
Convert a Rectangular to a Jagged Array
Converts a T[,] (rectangular array) to a T[][] (jagged array).
-
Nullable Coalesce
Coalesce any like nullable types.
-
CompressAndEncrypt
Compresses and Encrypts Data
-
Aspose.Word
Is a Extension for the ASPOS Word API.
-
Get
IDataReader extension to get values
-
DisplayDouble
Converts a Double to a String with precision
-
Format
Formats any value type
-
GetBoolString
If you need to show "Yes" or "No" depending on some bool property
-
CurrentDateTimeInAmsterdam
Get the current date time in Amsterdam
-
Shorthand Task.Factory.FromAsync (for .NET 4.5)
This extension method series represent shorthand version of Task.Factory.FromAsync (for .NET 4.5)
-
AddOrdinal
Add an ordinal to a number,
-
big number library
enables calculation of big number
-
EnqueueAll
Enqueues an aray of items to a Queue rather than having to loop and call Enqueue for each item.
-
Anjum Riwi
Parse the string in exact data format with null check
-
CountNonEmptyItemsInStringArray
Method returns the number of non-null or non-empty items wihtin a string array of length n.
-
Check Opened Port
بررسی باز بودن پورت
-
Follow
Follows sequence with new element
-
All
yield all child controls recursivly
-
Duplicates within an IEnumerable
Duplicates within an IEnumerable
-
Class to XML
Parse Class to XML
-
NextEnum
Generates random enumeration value
-
Extract
Extract a string from an other string between 2 char
-
isRandomSecure
blowdart random test
-
EnqueueRange
Enqueues a generic collection of items
-
Or
Returns the object if it's not null or the first object which is not null.
-
ToObservableCollection
Return observable collection for IList object.
-
Ori Samara
Extracts the underylying SQL query from an IQueryable datatype
-
ReverseWords
Reverse Words
-
FirstChildOrDefault
Finds first occurrence of a Unity Transform that satisfies the predicate
-
WriteToFileUtf8
Write File in UTF8 from MemoryStream
-
AsSequenceTo
Creates a numeric list of integers starting at the current instance and ending at the maximum value.
-
AwaitableTaskEnumerableExtensions
Awaitable fluent extensions for enumerables of task
-
ExceptWithDuplicates
Returns a List of T except what's in a second list, without doing a distinct
-
Shorthand ReferenceEquals
This extension method represents shorthand version of ReferenceEquals method.
-
CreateSelectList
Convert any list of objects to a select list
-
GetContrastingColor
Gets a contrasting color based on the current color
-
CurrentLocalTimeForTimeZone
Returns the current local time for the specified time zone.
-
SelectionValue
Returns Dropdownlist Selected Value as Integer
-
WeekOfYearISO8601
Gets the number of the week according to the definition of the ISO 8601
-
To<> Convert
To<> Convert
-
Or (with explicit reference for strings)
Returns the object if it's not null or the first object which is not null, With explicit reference for strings
-
ConcatItem / ConcatTo
Concats a single item to an IEnumerable
-
et
et
-
Format
string formator,replece string.Format
-
WhereStringIsNotNullOrEmpty
Where string is not null or empty extension method for NHibernate 3.0 and its new query API QueryOver.
-
ReaderWriterLockSlim
Simplified and elegant usage of ReaderWriterLockSlim that
-
IsValidIranianSocialCode
بررسی اعتبار کد ملی
-
FirstMondayOfYear
FirstMondayOfYear
-
Parse XML Physical Path to Class
Get XML from Physical Path and Parse into Class
-
ValidateAndConvertDictionaryData
Dictionary Extension
-
Read And Write Settings Application
You can mangement Properties Settings.
-
HashBy
Implict hashing
-
toDecimal
Object to decimal?
-
StackToSide
if you Enter Some numbers in the Stack one number has inserted in Left Side and another one has inserted in Right Side.Ebrahim5132@gmail.com
-
Zero Index CopyTo
CopyTo without the second parameter, for when you just want to copy array A to array B verbatim and size is not a concern.
-
FromIso8601WeekNumber / ToIso8601WeekNumber
Converts to and from ISO 8601 Week numbers