200 likes | 438 Views
C# Data Structures AND Generics. By Michael and Miles. Overview. What are data structures? Benefits and uses What are generics? Benefits and uses Live samples Summary. Data Structures. 1. Collections of data 2. Fetch and store 3. type of data structure depends on situation
E N D
C# Data Structures AND Generics By Michael and Miles
Overview What are data structures? Benefits and uses What are generics? Benefits and uses Live samples Summary
Data Structures 1. Collections of data 2. Fetch and store 3. type of data structure depends on situation 4. Examples Array, arraylist, list, linkedlist, stack, queue, dictionary, etc. 5. Most basic is the array
Arrays 1. Most commonly used data structure • Contents are stored in contiguous memory • All data must be same type Pros: Quick direct access (for loop) Easy to use Cons: Searching is proportional to data size Cannot resize array
What are generics? • One of the most powerful features introduced in C# 2.0 • System.Collections.Generic… • Mainly used with collections/data structures • Type safety • Generic methods • Similar operations on different data types
Pros • Type safety • Reduces the need for type casting • less run-time errors • Performance boost • No boxing/unboxing (less code) • maximize code reuse • Cons • Can get complex • Learning curve
List<T> • Similar to arrays – • A generic data structure • Type-safe • Dynamic resizing - .Add() .Insert() .Remove() • Built in search methods • flexibility
Queues Like a circular array First come first serve Insertions made at the tail Pros: Good for processing Cons: Not searchable Not many uses
Dictionaries Key value pairs Data is unordered Easy lookups Type safe (generic)
Drawbacks ofnon-genericdata structures Data stored as type object • Casting: conversion of data types double x = 1234.7; int a; a = (int)x; // cast double to int • Limited type checking * Increased Overhead • More work to getting something done
And then there’s LINQ Write queries (similar to SQL queries) Retrieve info from many data structures • Arrays, List<> etc. Quick example http://msdn.microsoft.com/en -us/library/bb907066.aspx
Summary Types of Structures Generics • What they are/how to use Practical uses