Monday, June 17, 2019

String Interpolation C# 6.0

String Interpolation is nothing but a way to concatenate two or more strings together. As we aware of, in previous version of .NET we did string concatenation using  the + (plus) operator. Sometimes for the same work we have also used the String.Format method. Now we are pleased to hear that it became the old way to do string concatenation.
Old ways to concatenate strings :


1)  The + operator

Console.WriteLine("Name : "+ si.FirstName+" "+si.LastName+"\nEmail : "+si.Email);  

2) With spaces

Console.WriteLine(string.Format("Name : {0} {1}\nEmail : {2}", si.FirstName, si.LastName, si.Email)); 


C# 6.0 is the newest version of C#, Microsoft added a very nice feature to accelerate our program code. Now we can put expressions directly in the string literal to show the values in an actual manner. In C# 6.0 we can easily specify various formats in our values. We can do the following.
  • Place strings where we need them
Console.WriteLine("Name : \{si.FirstName} \{si.LastName}\nEmail : \{si.Email}\nAge :\{si.Age}");


  • Specify a space after/before the string
Console.WriteLine("Name : \{si.FirstName,10} \{si.LastName}\nAge :\{si.Age :D2}");  

  • Use conditions
//Putting Condition in string literal, If Age==25 it will display Age: Age is Over else Age in int value

Console.WriteLine("Name : \{si.FirstName, 10} \{si.LastName}\nAge :\{si.Age==25?"" :"Age is Over"}"); 

  • Using $

Console.WriteLine( $"{nameof(Person)}(FirstName: {si.FirstName}, LastName: {si.LastName}, Age: {si.Age})";




########################################



using System;


public class Program
{
public class Person 
{
public string FirstName { get; protected set; }
public string LastName { get; protected set; }
public int Age { get; protected set; }
public Person(string firstName, string lastName, int age) {
FirstName = firstName;
LastName = lastName;
Age = age;
}
public override string ToString() 
// solution #1
// return string.Format("Person(FirstName: {0}, LastName: {1}, Age: {2}", FirstName, LastName, Age);
// solution #2
// return string.Format("{0}(FirstName: {1}, LastName: {2}, Age: {3})", nameof(Person), FirstName, LastName, Age);
// solution #3
return $"{nameof(Person)}(FirstName: {FirstName}, LastName: {LastName}, Age: {Age})";
}
}
public static void Main()
{
Person p = new Person("John", "Doe", 42);
Console.WriteLine(p);
Console.WriteLine($@"{1+5+7}");
}
}

#################################################

Person(FirstName: John, LastName: Doe, Age: 42)
13

#################################################

      Tuesday, May 28, 2019

      SQL SERVER – Insert Multiple Records Using One Insert Statement



      How can we insert multiple values in table using only one insert? 
      When there are multiple records are to be inserted in the table following is the common way using T-SQL.
       

      INSERT INTO MyTable  (FirstCol, SecondCol)
              VALUES ('First',1);
      INSERT INTO MyTable  (FirstCol, SecondCol)
              VALUES ('Second',2);
      INSERT INTO MyTable  (FirstCol, SecondCol)
              VALUES ('Third',3);
      INSERT INTO MyTable  (FirstCol, SecondCol)
              VALUES ('Fourth',4);
      INSERT INTO MyTable  (FirstCol, SecondCol)
              VALUES ('Fifth',5);
      GO

      The clause INSERT INTO is repeated multiple times. Many times DBA copy and paste it to save time. There is another alternative to this, using UNION ALL and INSERT INTO … SELECT… clauses. 
      Regarding performance there is not much difference. Also, insert script is used one time, so performance does not make much difference.

      INSERT INTO MyTable (FirstCol, SecondCol)
      SELECT 'First' ,1
      UNION ALL
      SELECT 'Second' ,2
      UNION ALL
      SELECT 'Third' ,3
      UNION ALL
      SELECT 'Fourth' ,4
      UNION ALL
      SELECT 'Fifth' ,5
      GO

      The effective result is same.

      If one is using SQL Server 2008, then a new feature to insert multiple rows in SQL with using only one SELECT statement can be used.

      SQL Server 2008 Method of Row Construction:
       

      INSERT INTO MyTable (FirstCol, SecondCol)
      VALUES ('First',1),
      ('Second',2),
      ('Third',3),
      ('Fourth',4),
      ('Fifth',5)

      Trim characters from a string in oracle


      • For trimming characters from last 



      select  substr('Trim_India_1', 0, length('Trim_India_1')-2) from dual;

      Result: Trim_India



      • For trimming characters from starting 



      select  substr('Trim_India_1', 3) from dual;

      Result: im_India_1

      This will return all characters starting from position 3

      UNIX Commands


      Ten ESSENTIAL UNIX Commands

      These are ten commands that you really need to know in order to get started with UNIX. They are probably similar to commands you already know for another operating system.

      Command
      Example
      Description
      1.     ls
      ls
      ls -alF
      Lists files in current directory
      List in long format
      2.     cd
      cd tempdir
      cd ..
      cd ~dhyatt/web-docs
      Change directory to tempdir
      Move back one directory
      Move into dhyatt's web-docs directory
      3.     mkdir
      mkdir graphics
      Make a directory called graphics
      4.     rmdir
      rmdir emptydir
      Remove directory (must be empty)
      5.     cp
      cp file1 web-docs
      cp file1 file1.bak
      Copy file into directory
      Make backup of file1
      6.     rm
      rm file1.bak
      rm *.tmp
      Remove or delete file
      Remove all file
      7.     mv
      mv old.html new.html
      Move or rename files
      8.     more
      more index.html
      Look at file, one page at a time
      9.     lpr
      lpr index.html
      Send file to printer
      10.   man
      man ls
      Online manual (help) about command

       

       

      Ten VALUABLE UNIX Commands

      Once you have mastered the basic UNIX commands, these will be quite valuable in managing your own account.

      Command
      Example
      Description
      1.     grep <str><files>
      grep "bad word" *
      Find which files contain a certain word
      2.     chmod <opt> <file>
      chmod 644 *.html
      chmod 755 file.exe
      Change file permissions read only
      Change file permissions to executable
      3.     passwd
      passwd
      Change passwd
      4.     ps <opt>
      ps aux
      ps aux   |   grep dhyatt
      List all running processes by #ID
      List process #ID's running by dhyatt
      5.     kill <opt> <ID>
      kill -9 8453
      Kill process with ID #8453
      6.     gcc (g++) <source>
      gcc file.c -o file
      g++ fil2.cpp -o fil2
      Compile a program written in C
      Compile a program written in C++
      7.     gzip <file>
      gzip bigfile
      gunzip bigfile.gz
      Compress file
      Uncompress file
      8.     mail
              (pine)
      mail me@tjhsst.edu < file1
      pine
      Send file1 by email to someone
      Read mail using pine
      9.     telnet <host>
              ssh <host>
      telnet vortex.tjhsst.edu
      ssh -l dhyatt jazz.tjhsst.edu
      Open a connection to vortex
      Open a secure connection to jazz as user dhyatt
      10.   ftp <host>
      ncftp <host/directory>
      ftp station1.tjhsst.edu
      ncftp metalab.unc.edu
      Upload or Download files to station1
      Connect to archives at UNC

       

      Ten FUN UNIX Commands

      These are ten commands that you might find interesting or amusing. They are actually quite helpful at times, and should not be considered idle entertainment.

      Command
      Example
      Description
      1.     who
      who
      Lists who is logged on your machine
      2.     finger
      finger
      Lists who is on computers in the lab
      3.     ytalk <user@place>
      ytalk dhyatt@threat
      Talk online with dhyatt who is on threat
      4.     history
      history
      Lists commands you've done recently
      5.     fortune
      fortune
      Print random humerous message
      6.     date
      date
      Print out current date
      7.     cal <mo> <yr>
      cal 9 2000
      Print calendar for September 2000
      8.     xeyes
      xeyes &
      Keep track of cursor (in "background")
      9.     xcalc
      xcalc &
      Calculator ("background" process)
      10.   mpage <opt> <file>
      mpage -8 file1   |  lpr
      Print 8 pages on a single sheet and send to printer (the font will be small!)

       

      Ten HELPFUL UNIX Commands

      These ten commands are very helpful, especially with graphics and word processing type applications.

      Command
      Example
      Description
      1.     netscape
      netscape &
      Run Netscape browser
      2.     xv
      xv &
      Run graphics file converter
      3.     xfig / xpaint
      xfig & (xpaint &)
      Run drawing program
      4.     gimp
      gimp &
      Run photoshop type program
      5.     ispell <fname>
      ispell file1
      Spell check file1
      6.     latex <fname>
      latex file.tex
      Run LaTeX, a scientific document tool
      7.     xemacs / pico
      xemacs (or pico)
      Different editors
      8.     soffice
      soffice &
      Run StarOffice, a full word processor
      9.     m-tools (mdir, mcopy,
              mdel, mformat, etc. )
      mdir a:
      mcopy file1   a:
      DOS commands from UNIX (dir A:)
      Copy file1 to A:
      10.   gnuplot
      gnuplot
      Plot data graphically

       

      Ten USEFUL UNIX Commands:

      These ten commands are useful for monitoring system access, or simplifying your own environment.

      Command
      Example
      Description
      1.     df
      df
      See how much free disk space
      2.     du
      du -b subdir
      Estimate disk usage of directory in Bytes
      3.     alias
      alias lls="ls -alF"
      Create new command "lls" for long format of ls
      4.     xhost
      xhost + threat.tjhsst.edu
      xhost -
      Permit window to display from x-window program from threat
      Allow no x-window access from other systems
      5.     fold
      fold -s file1   |   lpr
      Fold or break long lines at 60 characters and send to printer
      6.     tar
      tar -cf subdir.tar subdir
      tar -xvf subdir.tar
      Create an archive called subdir.tar of a directory
      Extract files from an archive file
      7.     ghostview (gv)
      gv filename.ps
      View a Postscript file
      8.     ping
         (traceroute)
      ping threat.tjhsst.edu
      traceroute www.yahoo.com
      See if machine is alive
      Print data path to a machine
      9.     top
      top
      Print system usage and top resource hogs
      10.   logout (exit)
      logout or exit
      How to quit a UNIX shell.