0% found this document useful (0 votes)
103 views9 pages

Core - 03 - C#

The document discusses various C# programming concepts including interfaces, generics, delegates, extension methods, and LINQ queries. Interfaces define properties and methods but do not provide implementation, while generics allow classes and methods to work with different data types. The document also covers delegates which can pass methods as arguments, extension methods for adding methods to existing types, and LINQ queries for querying data in databases and XML documents.

Uploaded by

Ryan Bae
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
103 views9 pages

Core - 03 - C#

The document discusses various C# programming concepts including interfaces, generics, delegates, extension methods, and LINQ queries. Interfaces define properties and methods but do not provide implementation, while generics allow classes and methods to work with different data types. The document also covers delegates which can pass methods as arguments, extension methods for adding methods to existing types, and LINQ queries for querying data in databases and XML documents.

Uploaded by

Ryan Bae
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Building Web 1

Applications with
Microsoft ASP.NET - I376
Web Application
Programming II – I713
IT College, Andres Käver, 2016-2017, Spring semester
Web: http://enos.Itcollege.ee/~akaver/ASP.NETCore
Skype: akaver Email: [email protected]
C# - Interfaces 2

 Interfaces, like classes, define a set of properties, methods, and


events.
 But unlike classes, interfaces do not provide implementation.
 They are implemented by classes, and defined as separate entities
from classes.
 An interface represents a contract, in that a class that implements
an interface must implement every aspect of that interface exactly
as it is defined.
 Most of modern oop programming is based on interfaces!
C# - Interfaces 3

 Interfaces members are


public
 You have to implement every
method in interface
 Abstract class can use interface ISampleInterface
interfaces {
void DoSomething();
 Convention – all interfaces }
start with capital letter I class SampleClassWithInterface : ISampleInterface
 You can implement more {
public void DoSomething()
than one interface
{
throw new NotImplementedException();
}
}
C# - Generics 4

 Classes, structures, interfaces and methods in the .NET Framework


can include type parameters that define types of objects that they
can store or use.
 The most common example of generics is a collection, where you
can specify the type of objects to be stored in a collection.

public class SampleGeneric<T>


{
public T Field;
}

SampleGeneric<string> sampleObject = new SampleGeneric<string>();


sampleObject.Field = "Sample string";
C# - Delegates 5

 A delegate is a type that defines a method signature, and can


provide a reference to any method with a compatible signature.
 You can invoke (or call) the method through the delegate.
 Delegates are used to pass methods as arguments to other
methods.
C# - Delegates 6

public delegate void SampleDelegate(string str);


class SampleClassDelegate
{
// Method that matches the SampleDelegate signature.
public static void SampleMethod(string message)
{
// Add code here.
}
// Method that instantiates the delegate.
void SampleDelegate()
{
SampleDelegate sd = SampleMethod;
sd("Sample string");
}
}
C# - Extension methods 7

 Extension methods enable you to "add" methods to existing types


without creating a new derived type.

public static class MyExtensions


{
public static int WordCount(this String str)
{
return str.Split(new[] { ' ', '.', '?' },
StringSplitOptions.RemoveEmptyEntries).Length;
}
}

string s = "Hello Extension Methods";


int i = s.WordCount();
C# - Linq method query 8

var list1 = context.People.Where(p => p.FirstName ==


"Andres").OrderBy(o => o.LastName).Take(5);
 Take the table People
 On every row, do some operation
 Declare variable p (one row from People) – strongly typed
 Write the lambda expression to be executed on every row
 Result is new set, with only those rows that match criteria
 On every row, do some operation (OrderBy)
 On every row, do some operatiom (Take)
Linq query expression 9

var list2 = (from p in context.People where


p.FirstName == "Andres" orderby p.LastName
select p).Take(5);
 Exactly the same result
 C# will transform them to lambdas
 Harder to read
 Slower

You might also like