+ All Categories
Home > Documents > Neal Stublen [email protected]. How does XMLReader work? XmlReader.Read() Advances to next node...

Neal Stublen [email protected]. How does XMLReader work? XmlReader.Read() Advances to next node...

Date post: 02-Jan-2016
Category:
Upload: myrtle-bertha-gilmore
View: 217 times
Download: 0 times
Share this document with a friend
21
C#: INTRODUCTION FOR DEVELOPERS Neal Stublen [email protected]
Transcript

C#: INTRODUCTION

FOR DEVELOPERS

Neal Stublen

[email protected]

How does XMLReader work?

XmlReader.Read()Advances to next nodeXmlReader properties access node name,

value, attributes, etc.Returns false if there are no additional

nodes

Reading XML FilesXmlReader r = XmlReader.Create(path, settings);

r.ReadToDescendant(nodeName);

do{ r.ReadStartElement(nodeName); r.ReadElementContentAsString();} while (r.ReadToNextSibling(nodeName));

r.Close();

Code Practice

Create a new project called CustomerImport

Import Customers into a List<> from any .xml file

Fill a TreeView with the Customer data

Review

TreeView XmlReader

LINQ

var Data Type We can declare a variable as type “var”

instead of using a specific data type

The compiler assigns an implicit data type at compile-time (not run-time)

var value = 0;var array = new string[10];var list = new List<Customer>();

var str = "Hello"; // str is string typestr = 6; // can’t assign int

What’s LINQ?

SQL-like query expression on any enumerable object type

int[] numbers = new int[100];for (int index = 0; index < 100; ++index){ numbers[index] = index;}

var odds = from number in numbers where number % 2 != 0 select number;

Try it in LINQPad

Duplicate code from previous slide Filter out prime numbers from array

using LINQ query

LINQ Expressionsfrom [type] element in collection

join element2 in collection2on key1 equals key2

where condition // any boolean expression

orderby expression [ascending|descending]

select columnExpressionselect new [type] { name=value, name=value }

LINQ Expressionsfrom cust in customers

join invoice in invoiceson cust.CustomerID equals invoice.CustomerID

where invoice.InvoiceDate < sixtyDaysAgo

orderby invoice.InvoiceTotal descending

select

Try it with CustomerImport Create a List<Customer> object by

looping through SqlDataReader Perform LINQ queries on

List<Customer>

LINQ-TO-SQL

LINQ-to-SQL

Create objects that represent database entities

Use the same LINQ query expressions against a database

Just restricts “where” clause to SQL-compatible operations

See It In Action

LINQ on Database Objects Add LINQ data objects to a project Drop tables from Server Explorer Use the new DB to query the database

using LINQ Insert, Update, Delete objects,

db.SubmitChanges() Add related items, db.SubmitChanges() Paging: (from…).Skip(5).Take(5)

LINQ’d Customer-Invoice List

Using LINQ objects, fill a list view with all invoices sorted by CustomerName

CONTEXT SENSITIVE HELP

ToolTips and HelpProviders Add ToolTip control Set ToolTip property on each control and/or

the form Hover over control to show tool tip

Add HelpProvider control Set the HelpString on each property and/or

the form Press F1 while the control has focus to show

help string

TAB CONTROL

Tab Control

Separate panels to group items Tab across edge changes panel visibility


Recommended