100%(11)100% found this document useful (11 votes)
829 views
Core CSharp and NET Quick Reference
The document provides an overview of common .NET data types, string and array operations, formatting numeric and date values, regular expressions, and using the DateTime and TimeSpan classes. It includes examples and descriptions of methods for these topics.
100%(11)100% found this document useful (11 votes)
829 views
Core CSharp and NET Quick Reference
The document provides an overview of common .NET data types, string and array operations, formatting numeric and date values, regular expressions, and using the DateTime and TimeSpan classes. It includes examples and descriptions of methods for these topics.
Formatting Numeric and Date Values Method Description
Quick Reference Format Item Syntax: {index[,alignment] [:format string]} Substring mystring.Substring(ndx, len) string alpha = “abcdef”; index – Specifies element in list of values to which format is applied. // returns “cdef” 1. Data Types alignment – Indicates minimum width (in characters) to display value. string s= alpha.Substring(2); format string – Contains the code that specifies the format of the displayed value. // returns “de” Primitive Size Example Example: String.Format(“Price is: {0:C2}”, 49.95); // output: Price is: $ 49.95 s = alpha.Substring(3,2); string 2 bytes/char s = “reference”; bool b = true; a. Numeric Formatting ToCharArray Places selected characters in a string char 2 bytes ch = ‘a’; Format Pattern Value Description in a char array: byte 1 byte b = 0x78; Specifier short 2 bytes Ival = 54; C or c {0:C2}, 1388.55 $ 1388.55 Currency. String vowel = “aeiou”; int 4 bytes Ival = 540; D or d {0:D5}, 45 00045 Must be integer value. // create array of 5 vowels long 8 bytes ival = 5400; E or e {0,9:E2}, 1388.55 1.39+E003 Must be floating point. char[] c = vowel.ToCharArray(); float 4 bytes val = 54.0F; F or f {0,9:F2}, 1388.55 1388.55 Fixed Point representation. // create array of ‘i’ and ‘o’. double 8 bytes val = 54.0D; N or n {0,9:N1}, 1388.55 1,388.6 Insert commas char[] c = vowel.ToCharArray(2,2); decimal 16 bytes val = 54.0M; P or p {0,9:P3}, .7865 78.650% Converts to percent. R or r {0,9:R}, 3.14159 3.14159 Retains all decimal places. 2. Arrays X or x {0,9:X4}, 31 001f Converts to Hex 4. System.Text.StringBuilder Declaration Example: CultureInfo ci = new CultureInfo("de-DE"); // German culture Constructor int[] numArray = {1903, 1907, 1910}; string curdt = String.Format(ci,"{0:M}",DateTime.Now); // 29 Juni StringBuilder sb = new StringBuilder(); int[] numArray = new int[3]; StringBuilder sb = new StringBuilder(mystring); // 3 rows and 2 columns b. DateTime Formatting: (January 19, 2005 16:05:20) en-US StringBuilder sb = new StringBuilder(mystring,capacity); int[ , ] nums = {{1907, 1990}, {1904, 1986}, {1910, 1980}}; Format Value Displayed Format Value Displayed d 1/19/2005 Y or y January, 2005 mystring – Initial value of StringBuilder object Array Operations capacity – Initial size (characters) of buffer. Array.Sort(numArray); // sort ascending D Wednesday, January t 4:05 PM // Sort begins at element 4 and sorts 10 elements 19, 2005 Using StringBuilderMembers Array.Sort(numArray, 4,10); decimal bmi = 22.2M; // Use one array as a key and sort two arrays f Wednesday, January T 4:05:20 PM int wt=168; string[] values = {“Cary”, “Gary”, “Barbara”}; 19, 2005 4:05:20 PM StringBuilder sb = new StringBuilder(“My weight is ”); string[] keys = {“Grant”, “Cooper”, “Stanwyck”}; sb = sb.Append(wt); // can append number Array.Sort(keys, values); F Wednesday, January s 2005-01-19T16:05:20 sb= sb.Append(“ and my bmi is ”).Append(bmi); // Clear elements in array (array, 1st element, # elements) 19, 2005 4:05 PM // my weight is 168 and my bmi is 22.2 Array.Clear(numArray, 0, numArray.Length); sb= sb.Replace(“22.2”,”22.4”); // Copy elements from one array to another g 1/19/2005 4:05 PM u 2005-01-19 16:05:20Z string s = sb.ToString(); Array.Copy(src, target, numelements); // Clear and set to new value G 1/19/2005 4:05:20 PM U Wednesday, January 19, 2005 21:05:20PM sb.Length=0; 3. String Operations sb.Append(“Xanadu”); M or m January 19 Method Description 5. DateTime and TimeSpan Compare String.Compare(stra, strb, case, ci) bool case – true for case insensitive 7. Using the System.Text.RegularExpressions.Regex class DateTime Constructor ci – new CultureInfo(“en-US”) DateTime(yr, mo, day) returns: <0 if a<b, 0 if a=b, 1 if a>b string zipexp = @"\d{5}((-|\s)?\d{4})?$"; string addr="W.44th St, New York, NY 10017-0233"; DateTime(yr, mo, day, hr, min, sec) IndexOf str.IndexOf(val, start, num) Match m = Regex.Match(addr,zipexp); // Static method Regex zipRegex= new Regex(zipexp); DateTime bday = new DateTime(1964,12,20,11,2,0); val – string to search for DateTime newyr= DateTime.Parse(“1/1/2005”); start – where to begin in string m= zipRegex.Match(addr); // Use Regex Object Console.WriteLine(m.Value); // 10017-0233 DateTime currdt = DateTime.Now; num – number of chars to search // also AddHours, AddMonths, AddYears returns (–1) if no match. DateTime tomorrow = currdt.AddDays(1); Pattern Description Example TimeSpan diff = currdt.Subtract(bday); LastIndexOf Search from end of string. + Match one or more occurrence ab+c matches abc, abbc // 14795 days from 12/20/64 to 6/24/05 * Match zero or more occurrences ab*c matches ac, abbc Console.WriteLine(“{0}”, diff.Days); Replace newstr= oldstr.Replace(“old”,”new”); ? Matches zero or one occurrence ab?c matches ac, abc \d \D Match decimal digit or non-digit (\D) \d\d matches 01, 55 // TimeSpan(hrs, min, sec) Split Char[] delim= {‘ ‘, ‘,’}; \w \W Match any word character or non-char \w equals [a-zA-Z0-9_] TimeSpan ts = new TimeSpan(6, 30, 10); string w = “Kim, Joanna Leslie”; \s \S Match whitespace or non-whitespace \d*\s\d+ matches 246 98 // also FromMinutes, FromHours, FromDays // create array with three names [ ] Match any character in set [aeiou]n matches in, on TimeSpan ts = TimeSpan.FromSeconds(120); string[] names= w.Split(delim); [^ ] Match any character not in set [^aeiou] matches r or 2 TimeSpan ts = ts2 – ts1; // +,-,>,<,==, != a|b Either a or b jpg|jpeg|gif matches .jpg \n \r \t New line, carriage return, tab Loop Constructs (Continued) 8. Using the C# Compiler at the Command Line 11. Delegates and Events for (initializer; for (int i=0;i<8;i++) C:\>csc /t:library /out:reslib.dll mysource.cs Delegates termination condition; { csc /t:winexe /r:ctls1.dll /r:ctls2.dll winapp.cs [modifiers] delegate result-type delegate name ([parameter list]); iteration;) tot += i; csc /keyfile:strongkey.snk secure.cs { // statements } } // (1) Define a delegate that calls method(s) having a single string parameter Option Description public delegate void StringPrinter(string s); foreach (type identifier in int[] ages = {27, 33, 44}; /addmodule Import metadata from a file that does // (2) Register methods to be called by delegate collection) foreach(int age in ages) not contain a manifest. StringPrinter prt = new StringPrinter(PrintLower); { // statements } { tot += age; } prt += new StringPrinter(PrintUpper); /debug Tells compiler to emit debugging info. prt(“Copyright was obtained in 2005”); / / execute PrintLower and PrintUpper 10. C# Class Definition /doc Specifies an XML documentation file Using Anonymous Methods with a Delegate Class to be created during compilation. Rather than calling a method, a delegate encapsulates code that is executed: [public | protected | internal | private] /keyfile prt = delegate(string s) { Console.WriteLine(s.ToLower()); }; [abstract | sealed | static] Specifies file containing key used to prt += delegate(string s) { Console.WriteLine(s.ToUpper()); }; class class name [:class/interfaces inherited from] create a strong named assembly. prt(“Print this in lower and upper case.”); /lib Specifies directory to search for Constructor external referenced assemblies. Events [access modifier] class name (parameters) [:initializer] // class.event += new delegate(event handler method); /out Name of compiled output file. Button Total = new Button(); initializer – base calls constructor in base class. Total.Click += new EventHandler(GetTotal); this calls constructor within class. /reference (/r) Reference to an external assembly. // Event Handler method must have signature specified by delegate private void GetTotal( object sender, EventArgs e) { public class Shirt: Apparel { /resource Resource file to embed in output. public Shirt(decimal p, string v) : base(p,v) Commonly used Control Events { constructor body } /target (/t) /t:exe /t:library /t:module /t:winexe Event Delegate Method Click, MouseEnter EventHandler( object sender, EventArgs e) [access modifier] DoubleClick, MouseLeave [static | virtual | override | new | sealed | abstract ] 9. C# Language Fundamentals MouseDown, Mouseup, MouseEventHandler(object sender, method name (parameter list) { body } MouseMove MouseEventArgs e) Control Flow Statements e.X, e.Y – x and y coordinates virtual – method can be overridden in subclass. e.Button – MouseButton.Left, Middle, Right override – overrides virtual method in base class. switch (expression) switch (genre) new – hides non-virtual method in base class. { case expression: { KeyUp, KeyDown KeyEventHandler(object sndr, KeyEventArgs e) sealed – prevents derived class from inheriting. // statements case “vhs”: e.Handled – Indicates whether event is handled. abstract – must be implemented by subclass. break / goto / return() price= 10.00M; e.KeyCode – Keys enumeration, e.g., Keys.V case ... break; e.Modifiers – Indicates if Alt, Ctrl, or Shift key. Passing Parameters: default: case “dvd”: KeyPress KeyPressEventHandler(object sender, a. By default, parameters are passed by value. // statements price=16.00M; KeyPressEventArgs e) b. Passing by reference: ref and out modifiers break / goto / return() break; } default: string id= “gm”; // caller initializes ref 12. struct expression may be price=12.00M: int weight; // called method initializes integer, string, or enum. break; GetFactor(ref id, out weight); } [attribute][modifier] struct name [:interfaces] { struct-body} // ... other code here static void GetFactor(ref string id, out int wt) if (condition) { Differences from class: if (genre==”vhs”) { // statements price=10.00M; • is a value type • cannot inherit from a class or be inherited if (id==”gm”) wt = 454; else wt=1; } else { else if (genre==”dvd”) • fields cannot have initializer • explicit constructor must have a parameter return; // statements price=16.00M; } } else price=12.00M; 13. enum (Enumerated Type) Property Loop Constructs enum enum Operations [modifier] <datatype> property name { public string VendorName enum Fabric: int { int cotNum = (int) Fabric.cotton; // 1 { while (condition) while ( ct < 8) cotton = 1, string cotName = Fabric.cotton.ToString(); // cotton { body } { tot += ct; ct++; } get { return vendorName; } silk = 2, string s = Enum.GetName(typeof(Fabric),2); // silk set { vendorName = value; } // note value keyword wool = 4, // Create instance of wool enum if it is valid } do { body } do { tot += ct; ct++;} rayon = 8 if(Enum.IsDefined(typeof(Fabric), “wool”) Fabric woolFab while (condition); while (ct < 8); } = (Fabric)Enum.Parse(typeof(Fabric),”wool”);