using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Linq;
using System.Reflection;
using System.Xml.Linq;
class Program {
static void Main(string[] args) {
XElement xml = XElement.Load("Employee.xml");
xml.AddFirst(new XElement("person",
new XElement("id", 5),
new XElement("firstname", "Tom"),
new XElement("lastname", "Cruise"),
new XElement("idrole", 1)));
Console.WriteLine(xml);
}
}
Month: February 2011
Adding a Node in a Specific Location of the Specified Node's Child Nodes with AddAfterSelf
using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using System.Xml;
using System.Xml.Linq;
public class MainClass {
public static void Main() {
XDocument xDocument = new XDocument(
new XElement("Books",
new XElement("Book",
new XAttribute("type", "Author"),
new XElement("FirstName", "J"),
new XElement("LastName", "R"))));
xDocument.Element("Books").Add(
new XElement("Book",
new XAttribute("type", "Author"),
new XElement("FirstName", "E"),
new XElement("LastName", "B")));
xDocument.Element("Books").
Element("Book").AddAfterSelf(
new XElement("Book",
new XAttribute("type", "Reviewer"),
new XElement("FirstName", "F"),
new XElement("LastName", "F")));
Console.WriteLine(xDocument);
}
}
Adding a Node in the Specified Node's Child Nodes with AddBeforeSelf
using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using System.Xml;
using System.Xml.Linq;
public class MainClass {
public static void Main() {
XDocument xDocument = new XDocument(
new XElement("Books",
new XElement("Book",
new XAttribute("type", "Author"),
new XElement("FirstName", "A"),
new XElement("LastName", "B"))));
xDocument.Element("Books").Add(
new XElement("Book",
new XAttribute("type", "Author"),
new XElement("FirstName", "E"),
new XElement("LastName", "B")));
xDocument.Element("Books").
Elements("Book").
Where(e => ((string)e.Element("FirstName")) == "E").
Single<XElement>().AddBeforeSelf(
new XElement("Book",
new XAttribute("type", "Reviewer"),
new XElement("FirstName", "F"),
new XElement("LastName", "F")));
Console.WriteLine(xDocument);
}
}
Filter string by its length
using System;
using System.Collections.Generic;
using System.Linq;
class LinqDemo {
static void Main() {
string[] names = { "Tom", "Dick", "Harry" };
IEnumerable<string> filteredNames = names.Where(n => n.Length >= 4);
foreach (string name in filteredNames) Console.Write(name + "|");
}
}
Assign the loop variable to another variable declared inside the statement block
using System;
using System.Collections.Generic;
using System.Linq;
public class MainClass {
public static void Main() {
IEnumerable<char> vowels = "aeiou";
IEnumerator<char> rator = vowels.GetEnumerator();
IEnumerable<char> query = "Not what you might expect";
foreach (char vowel in "aeiou") {
char temp = vowel;
query = query.Where(c => c != temp);
}
}
}
use where clause in a while loop
using System;
using System.Collections.Generic;
using System.Linq;
public class MainClass {
public static void Main() {
IEnumerable<char> vowels = "aeiou";
IEnumerator<char> rator = vowels.GetEnumerator();
IEnumerable<char> query = "Not what you might expect";
char vowel;
while (rator.MoveNext()) {
vowel = rator.Current;
query = query.Where(c => c != vowel);
}
}
}
Two where clauses
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Linq;
class Employee {
int _id;
int _idRole;
string _lastName;
string _firstName;
public int ID {
get { return _id; }
set { _id = value; }
}
public int IDRole {
get { return _idRole; }
set { _idRole = value; }
}
public string LastName {
get { return _lastName; }
set { _lastName = value; }
}
public string FirstName {
get { return _firstName; }
set { _firstName = value; }
}
}
class Salary {
int _id;
int _year;
double _salary;
public int ID {
get { return _id; }
set { _id = value; }
}
public int Year {
get { return _year; }
set { _year = value; }
}
public double SalaryPaid {
get { return _salary; }
set { _salary = value; }
}
}
public class MainClass {
public static void Main() {
List<Employee> people = new List<Employee> {
new Employee { ID = 1, IDRole = 1, LastName = "A", FirstName = "B"},
new Employee { ID = 2, IDRole = 2, LastName = "G", FirstName = "T"}
};
List<Salary> salaries = new List<Salary> {
new Salary { ID = 1, Year = 2004, SalaryPaid = 10000.00 },
new Salary { ID = 1, Year = 2005, SalaryPaid = 15000.00 },
new Salary { ID = 1, Year = 2005, SalaryPaid = 15000.00 }
};
IEnumerable<Salary> q = from p in people
where p.ID == 1
from s in salaries
where s.ID == p.ID
select s;
}
}

