Entwicklung der Programmiersprache C#
|
|
- Jasmin Becke
- vor 8 Jahren
- Abrufe
Transkript
1 Language Day HDM 2015 Entwicklung der Programmiersprache C# Referent: Mikhail Orleanskiy, IT-Designers GmbH Stand: 6. November 2015 Eine Präsentation der IT-Designers Gruppe 1
2 C# 2.0 bis 5.0 C# 2.0 bis 5.0 Neu in C# 6.0 Eine Präsentation der IT-Designers Gruppe 2
3 C# 2.0 bis 5.0 /.NET C# 2.0 bis 5.0.NET Eine Präsentation der IT-Designers Gruppe 3
4 C# 2.0 bis 5.0 /.NET (2002) 1.1 (2003) 2.0 (2006) 3.0 (2006) 3.5 (2007) 4.0 (2010) 4.5 (2012) 4.6/5.0 (2015) Historie.NET 1.0 bis 5.0 Eine Präsentation der IT-Designers Gruppe 4
5 C# 2.0 bis 5.0 /.NET (2002) Web Services verbessert ASP.NET verbessert.net für Mobile Geräte 1.1 (2003) 2.0 (2006) 3.0 (2006) 3.5 (2007) 4.0 (2010) (2012) 4.6/5.0 (2015) Historie.NET 1.0 bis 5.0 Eine Präsentation der IT-Designers Gruppe 4
6 C# 2.0 bis 5.0 /.NET Windows Forms deutlich verbessert ASP.NET deutlich verbessert Sicherheit (ACL, Data Protection...) Networking FTP, WS2.0, SMTP... Fusion 2.0 XSLT 64 Bit C# 2.0, Generics 1.0 (2002) Web Services verbessert ASP.NET verbessert.net für Mobile Geräte 1.1 (2003) 2.0 (2006) 3.0 (2006) 3.5 (2007) 4.0 (2010) (2012) 4.6/5.0 (2015) Historie.NET 1.0 bis 5.0 Eine Präsentation der IT-Designers Gruppe 4
7 C# 2.0 bis 5.0 /.NET Windows Communication Foundation Windows Forms deutlich verbessert Windows Presentation Foundation ASP.NET deutlich verbessert Workflow Foundation Sicherheit (ACL, Data Protection...) Windows CardSpace Networking FTP, WS2.0, SMTP... Fusion 2.0 XSLT 64 Bit C# 2.0, Generics 1.0 (2002) Web Services verbessert ASP.NET verbessert.net für Mobile Geräte 1.1 (2003) 2.0 (2006) 3.0 (2006) 3.5 (2007) 4.0 (2010) (2012) 4.6/5.0 (2015) Historie.NET 1.0 bis 5.0 Eine Präsentation der IT-Designers Gruppe 4
8 C# 2.0 bis 5.0 /.NET CLR Security verbessert (Vista Support) C# 3.0 LINQ Windows Communication Foundation Windows Forms deutlich verbessert Windows Presentation Foundation ASP.NET deutlich verbessert CLR Speed Improvements (Thread Pools etc.) Garbage Collector verbessert Workflow Foundation Sicherheit (ACL, Data Protection...) BCL (Basisklassen) neue Methoden Extensibility (System.Addin.*) Windows CardSpace Networking FTP, WS2.0, SMTP... Fusion 2.0 XSLT 64 Bit C# 2.0, Generics 1.0 (2002) Web Services verbessert ASP.NET verbessert.net für Mobile Geräte 1.1 (2003) 2.0 (2006) 3.0 (2006) 3.5 (2007) 4.0 (2010) (2012) 4.6/5.0 (2015) Historie.NET 1.0 bis 5.0 Eine Präsentation der IT-Designers Gruppe 4
9 C# 2.0 bis 5.0 /.NET Covariance and Contravariance in Generics Dynamic Language Runtime CLR Security verbessert (Vista Support) C# 3.0 LINQ Windows Communication Foundation Windows Forms deutlich verbessert Background Garbage Collection Code Contracts Windows Presentation Foundation ASP.NET deutlich verbessert CLR Speed Improvements (Thread Pools etc.) Managed Extensibility Framework Garbage Collector verbessert Workflow Foundation Sicherheit (ACL, Data Protection...) Parallel Computing (PLINQ) Memory-Mapped Files BCL (Basisklassen) neue Methoden Extensibility (System.Addin.*) Windows CardSpace Networking FTP, WS2.0, SMTP... Fusion 2.0 XSLT 64 Bit C# 2.0, Generics 1.0 (2002) Web Services verbessert ASP.NET verbessert.net für Mobile Geräte 1.1 (2003) 2.0 (2006) 3.0 (2006) 3.5 (2007) 4.0 (2010) (2012) 4.6/5.0 (2015) Historie.NET 1.0 bis 5.0 Eine Präsentation der IT-Designers Gruppe 4
10 C# 2.0 bis 5.0 /.NET WinRT / Windows 8 / Metro Parallel Computing (async / await) Covariance and Contravariance in Generics Dynamic Language Runtime CLR Security verbessert (Vista Support) C# 3.0 LINQ Windows Communication Foundation Windows Forms deutlich verbessert Background Garbage Collection Code Contracts Windows Presentation Foundation ASP.NET deutlich verbessert CLR Speed Improvements (Thread Pools etc.) Managed Extensibility Framework Garbage Collector verbessert Workflow Foundation Sicherheit (ACL, Data Protection...) Parallel Computing (PLINQ) Memory-Mapped Files BCL (Basisklassen) neue Methoden Extensibility (System.Addin.*) Windows CardSpace Networking FTP, WS2.0, SMTP... Fusion 2.0 XSLT 64 Bit C# 2.0, Generics 1.0 (2002) Web Services verbessert ASP.NET verbessert.net für Mobile Geräte 1.1 (2003) 2.0 (2006) 3.0 (2006) 3.5 (2007) 4.0 (2010) (2012) 4.6/5.0 (2015) Historie.NET 1.0 bis 5.0 Eine Präsentation der IT-Designers Gruppe 4
11 C# 2.0 bis 5.0 /.NET Compiler as a Service / Roslyn WinRT / Windows 8 / Metro Open Source... Parallel Computing (async / await) Covariance and Contravariance in Generics Dynamic Language Runtime CLR Security verbessert (Vista Support) C# 3.0 LINQ Windows Communication Foundation Windows Forms deutlich verbessert Background Garbage Collection Code Contracts Windows Presentation Foundation ASP.NET deutlich verbessert CLR Speed Improvements (Thread Pools etc.) Managed Extensibility Framework Garbage Collector verbessert Workflow Foundation Sicherheit (ACL, Data Protection...) Parallel Computing (PLINQ) Memory-Mapped Files BCL (Basisklassen) neue Methoden Extensibility (System.Addin.*) Windows CardSpace Networking FTP, WS2.0, SMTP... Fusion 2.0 XSLT 64 Bit C# 2.0, Generics 1.0 (2002) Web Services verbessert ASP.NET verbessert.net für Mobile Geräte 1.1 (2003) 2.0 (2006) 3.0 (2006) 3.5 (2007) 4.0 (2010) (2012) 4.6/5.0 (2015) Historie.NET 1.0 bis 5.0 Eine Präsentation der IT-Designers Gruppe 4
12 C# 2.0 bis 5.0 / Neu in C# 2.0 C# 2.0 bis 5.0 Neu in C# 2.0 Eine Präsentation der IT-Designers Gruppe 5
13 C# 2.0 bis 5.0 / Neu in C# 2.0 Wie lässt sich folgender Code vereinfachen? public static void Main () Console. WriteLine ( MachNullZuString (" Hallo ")); Console. WriteLine ( MachNullZuString ( null )); static string MachNullZuString ( string v) if(v!= null ) return v; return " nullwert "; C# 2.0??? Eine Präsentation der IT-Designers Gruppe 6
14 C# 2.0 bis 5.0 / Neu in C# 2.0 Wie lässt sich folgender Code vereinfachen? public static void Main () Console. WriteLine ( MachNullZuString (" Hallo ")); Console. WriteLine ( MachNullZuString ( null )); static string MachNullZuString ( string v) return (v!= null )? v : " nullwert "; C# 2.0??? Eine Präsentation der IT-Designers Gruppe 6
15 C# 2.0 bis 5.0 / Neu in C# 2.0 Wie lässt sich folgender Code vereinfachen? public static void Main () Console. WriteLine ( MachNullZuString (" Hallo ")); Console. WriteLine ( MachNullZuString ( null )); static string MachNullZuString ( string v) return v?? " nullwert "; C# 2.0??? Eine Präsentation der IT-Designers Gruppe 6
16 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 2.0 bis 5.0 Neu in C# 3.0 Eine Präsentation der IT-Designers Gruppe 7
17 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 3.0 Erlaubt es, den Typ einer lokalen Variablen herzuleiten var alter = 30; var name = " Kevin Erath "; var wurzelzwei = Math. Sqrt (2); var meinarray = new int [] 1, 2, 3, 4 ; Ist das Gleiche wie int alter = 30; string name = " Kevin Erath "; double wurzelzwei = Math. Sqrt (2); int [] meinarray = new int [] 1, 2, 3, 4 ; Was ist Type Inference? Eine Präsentation der IT-Designers Gruppe 8
18 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 3.0 Erweiterungsmethoden ermöglichen es einem bereits definierten Typ, nachträglich Methoden hinzuzufügen Nur verwenden, wenn der zu modifizierende Typ nicht direkt verändert werden kann - z. B. bei Klassen die als sealed gekennzeichnet sind public static class MyExtensions public static bool IsKevin ( this string str) return str == " Kevin "; string teststring = " Thomas "; Console. WriteLine ( teststring. IsKevin ()); Console. WriteLine (" Kevin ". IsKevin ()); Extension Methods Eine Präsentation der IT-Designers Gruppe 9
19 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 3.0 Erweiterungsmethoden ermöglichen es einem bereits definierten Typ, nachträglich Methoden hinzuzufügen Nur verwenden, wenn der zu modifizierende Typ nicht direkt verändert werden kann - z. B. bei Klassen die als sealed gekennzeichnet sind public static class MyExtensions public static bool IsKevin ( this string str) return str == " Kevin "; string teststring = " Thomas "; Console. WriteLine ( teststring. IsKevin ()); Console. WriteLine (" Kevin ". IsKevin ()); False True Extension Methods Eine Präsentation der IT-Designers Gruppe 9
20 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 3.0 Eigenschaften können vom Compiler auch automatisch implementiert werden public class Student public string Name get ; set ; public int Matrikelnummer get ; set ; Automatische Eigenschaften Eine Präsentation der IT-Designers Gruppe 10
21 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 3.0 C# 3.0 führt den Operator => ein, dieser wird auch als Lambda-Operator bezeichnet Der Operator verbessert die Erstellung von anonymen Methoden x => x * x (x, y) => x == y ( int x, string s) => s. Length > x () => SomeMethod () Lambda Ausdrück Eine Präsentation der IT-Designers Gruppe 11
22 C# 2.0 bis 5.0 / Neu in C# 3.0 x => x +1 x => return x +1; int x => x+1; C# 3.0 Der Ausdruck ist wie folgt zu verstehen: - Wende die folgende Funktion auf Variable x an. - F(x) = x+1 Wie eine Formel in der Mathematik ;-) Lambda Ausdrücke Eine Präsentation der IT-Designers Gruppe 12
23 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 3.0 Finde alle Namen, die ein k enthalten: private static void Main () var list = new List <string > " dominik ", " roland ", " thomas ", " markus ", " alon "; var result = list. FindAll ( val => val. Contains ("k")); foreach ( var name in result ) Console. WriteLine ( name ); Lambda Ausdrücke Eine Präsentation der IT-Designers Gruppe 13
24 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 3.0 Finde alle Namen, die ein k enthalten: private static void Main () var list = new List <string > " dominik ", " roland ", " thomas ", " markus ", " alon "; var result = list. FindAll ( val => val. Contains ("k")); foreach ( var name in result ) Console. WriteLine ( name ); dominik markus Lambda Ausdrücke Eine Präsentation der IT-Designers Gruppe 13
25 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 3.0 Alle Sprachänderungen in C# 3.0 haben nur ein Ziel LINQ zu ermöglichen Bietet eine native Sprache, um Datenquellen abzufragen - Abfragesprache sieht ähnlich wie SQL aus Prinzipiell gibt es drei Varianten: - DLINQ Relationale Datenabfrage - XLINQ XML-basierte Datenabfrage - Standard Query Operators Objektabfrage Language INtegrated Query Eine Präsentation der IT-Designers Gruppe 14
26 C# 2.0 bis 5.0 / Neu in C# 3.0 Es gibt zwei Möglichkeiten eine Datenabfrage zu formulieren: Abfragesyntax (ähnlich wie SQL) Methodensyntax (Erweiterungsmethoden) Beide Möglichkeiten sind gleichwertig. Datenabfragen mit LINQ Eine Präsentation der IT-Designers Gruppe 15
27 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 3.0 Alle Werte abrufen int [] numbers = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; IEnumerable <int > selected = from n in numbers select n; foreach ( int x in selected ) Console. WriteLine (x); LINQ Beispiel 1 Eine Präsentation der IT-Designers Gruppe 16
28 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 3.0 Alle Werte abrufen int [] numbers = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; IEnumerable <int > selected = from n in numbers select n; foreach ( int x in selected ) Console. WriteLine (x); LINQ Beispiel 1 Eine Präsentation der IT-Designers Gruppe 16
29 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 3.0 Alle Werte abrufen und um eins erhöhen int [] numbers = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; IEnumerable <int > selected = from n in numbers select n + 1; foreach ( int x in selected ) Console. WriteLine (x); LINQ Beispiel 2 Eine Präsentation der IT-Designers Gruppe 17
30 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 3.0 Alle Werte abrufen und um eins erhöhen int [] numbers = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; IEnumerable <int > selected = from n in numbers select n + 1; foreach ( int x in selected ) Console. WriteLine (x); LINQ Beispiel 2 Eine Präsentation der IT-Designers Gruppe 17
31 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 3.0 Alle Werte abrufen, die kleiner 5 sind int [] numbers = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; IEnumerable <int > selected = from n in numbers where n <5 select n; foreach ( int x in selected ) Console. WriteLine (x); LINQ Beispiel 3 Eine Präsentation der IT-Designers Gruppe 18
32 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 3.0 Alle Werte abrufen, die kleiner 5 sind int [] numbers = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; IEnumerable <int > selected = from n in numbers where n <5 select n; foreach ( int x in selected ) Console. WriteLine (x); LINQ Beispiel 3 Eine Präsentation der IT-Designers Gruppe 18
33 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 3.0 Alle Werte zählen, die ungerade sind int [] numbers = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; int ungeradezahlen = numbers. Count (n => n % 2 == 1); Console. WriteLine (" Ungerade Zahlen : " + ungeradezahlen ); LINQ Beispiel 4 Eine Präsentation der IT-Designers Gruppe 19
34 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 3.0 Alle Werte zählen, die ungerade sind int [] numbers = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; int ungeradezahlen = numbers. Count (n => n % 2 == 1); Console. WriteLine (" Ungerade Zahlen : " + ungeradezahlen ); Ungerade Zahlen : 5 LINQ Beispiel 4 Eine Präsentation der IT-Designers Gruppe 19
35 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 3.0 Alle Person mit bestimmtem Alter ermitteln Bisher: public IEnumerable <Person > FindPerson ( int alter ) foreach ( var person in personen ) if ( person. Age > alter ) yield return person ; LINQ Beispiel 5 Eine Präsentation der IT-Designers Gruppe 20
36 C# 2.0 bis 5.0 / Neu in C# 3.0 C# 3.0 Alle Person mit bestimmtem Alter ermitteln Bisher: public IEnumerable <Person > FindPerson ( int alter ) foreach ( var person in personen ) if ( person. Age > alter ) yield return person ; Mit LINQ: public IEnumerable <Person > FindPerson ( int alter ) return personen. Where (p => p.age > alter ); LINQ Beispiel 5 Eine Präsentation der IT-Designers Gruppe 20
37 C# 2.0 bis 5.0 / Neu in C# 3.0 Weitere Beispiele gibt es unter: LINQ Samples Eine Präsentation der IT-Designers Gruppe 21
38 C# 2.0 bis 5.0 / Neu in C# 4.0 C# 2.0 bis 5.0 Neu in C# 4.0 Eine Präsentation der IT-Designers Gruppe 22
39 C# 2.0 bis 5.0 / Neu in C# 4.0 Setzen von Defaultwerten für Übergabeparameter Aufrufer kann diese durch eigene Werte ersetzen Bisher: // Ueberladen ohne Parameter public void SagHallo () SagHallo (" Welt "); // Ueberladen mit Parameter public void SagHallo ( string name ) Console. WriteLine ("Hallo, " + name + "!"); Jetzt: public void SagHallo ( string name = " Welt ") Console. WriteLine ("Hallo, " + name + "!"); Optionale Parameter Eine Präsentation der IT-Designers Gruppe 23
40 C# 2.0 bis 5.0 / Neu in C# 4.0 Datenzugriff parallelisieren LINQ-Abfragen auf mehreren Kernen auszuführen Verwendet intern TPL für die Parallelisierung Unterstützt alle Standard.NET Abfrage Operatoren Es gibt zwei Möglichkeiten: - ParallelEnumerable-Klasse - AsParallel()-Erweiterungsmethode Parallel LINQ Eine Präsentation der IT-Designers Gruppe 24
41 C# 2.0 bis 5.0 / Neu in C# 4.0 Sequentielle Abfrage int [] numbers = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; IEnumerable <int > selected = from n in numbers where n <5 orderby n select n; Parallele Abfrage int [] numbers = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; IEnumerable <int > selected = from n in numbers. AsParallel () where n <5 orderby n select n; Einfache parallele Datenabfrage Eine Präsentation der IT-Designers Gruppe 25
42 C# 2.0 bis 5.0 / Neu in C# 4.0 using System ; using System. Diagnostics ; using System. Linq ; class Program static void Main () var numbers = new byte [ ]; new Random (). NextBytes ( numbers ); var watch = new Stopwatch (); watch. Start (); // LINQ Abfrage var r1 = ( from n in numbers where n<5 orderby n select n). Count (); watch. Stop (); Console. WriteLine (" Ergebnis " + r1 + " in " + watch. Elapsed ); watch. Restart (); // PLINQ Abfrage var r2 = ( from n in numbers. AsParallel () where n<5 orderby n select n). Count (); watch. Stop (); Console. WriteLine (" Ergebnis " + r2 + " in " + watch. Elapsed ); LINQ vs. PLINQ Eine Präsentation der IT-Designers Gruppe 26
43 C# 2.0 bis 5.0 / Neu in C# 4.0 using System ; using System. Diagnostics ; using System. Linq ; class Program static void Main () var numbers = new byte [ ]; new Random (). NextBytes ( numbers ); var watch = new Stopwatch (); watch. Start (); // LINQ Abfrage var r1 = ( from n in numbers where n<5 orderby n select n). Count (); watch. Stop (); Console. WriteLine (" Ergebnis " + r1 + " in " + watch. Elapsed ); watch. Restart (); // PLINQ Abfrage var r2 = ( from n in numbers. AsParallel () where n<5 orderby n select n). Count (); watch. Stop (); Console. WriteLine (" Ergebnis " + r2 + " in " + watch. Elapsed ); Ergebnis in 00:00: Ergebnis in 00:00: LINQ vs. PLINQ Eine Präsentation der IT-Designers Gruppe 26
44 Neu in C# 6.0 C# 2.0 bis 5.0 Neu in C# 6.0 Eine Präsentation der IT-Designers Gruppe 27
45 Neu in C# 6.0 / Initialisierung readonly Auto-Properties Neu in C# 6.0 Initialisierung readonly Auto-Properties Eine Präsentation der IT-Designers Gruppe 28
46 Neu in C# 6.0 / Initialisierung readonly Auto-Properties Bisher: public class Customer public List <int > Versions get ; set ; public byte State get; private set; public Customer () Versions = new List <int >(); State = 1; C# 6.0 Jetzt: public class Customer public List <int > Versions get; set; = new List <int >(); public byte State get; = 1; Initialisierung readonly Auto-Properties Eine Präsentation der IT-Designers Gruppe 29
47 Neu in C# 6.0 / Interpolation von Zeichenketten Neu in C# 6.0 Interpolation von Zeichenketten Eine Präsentation der IT-Designers Gruppe 30
48 Neu in C# 6.0 / Interpolation von Zeichenketten Bisher: class Point public int X get; set; public int Y get; set; public override string ToString () return string. Format ("0 / 1", X, Y); C# 6.0 Jetzt: class Point public int X get; set; public int Y get; set; public override string ToString () return $"X / Y"; Interpolation von Zeichenketten Eine Präsentation der IT-Designers Gruppe 31
49 Neu in C# 6.0 / Lambda-Ausdrücke als Rümpfe Neu in C# 6.0 Lambda-Ausdrücke als Rümpfe Eine Präsentation der IT-Designers Gruppe 32
50 Neu in C# 6.0 / Lambda-Ausdrücke als Rümpfe Bisher: class Point public int X get; set; public int Y get; set; public override string ToString () return $"X / Y"; C# 6.0 Jetzt: class Point public int X get; set; public int Y get; set; public override string ToString () => $"X / Y"; Lambda-Ausdrücke als Methodenrumpf Eine Präsentation der IT-Designers Gruppe 33
51 Neu in C# 6.0 / Lambda-Ausdrücke als Rümpfe Bisher: public class Point public int X get; set; public int Y get; set; public double Distance get return Math. Sqrt (X*X+Y*Y); C# 6.0 Jetzt: public class Point public int X get; set; public int Y get; set; public double Distance => Math. Sqrt (X*X+Y*Y); Lambda-Ausdrücke als Eigenschaftenrumpf Eine Präsentation der IT-Designers Gruppe 34
52 Neu in C# 6.0 / Null-Wert Operator Neu in C# 6.0 Null-Wert Operator Eine Präsentation der IT-Designers Gruppe 35
53 Neu in C# 6.0 / Null-Wert Operator Wie kann folgendes vereinfacht werden? class Point public int X get; set; public int Y get; set; public static Point FromJson ( JObject obj) if ( obj!= null && obj["x"]!= null && obj["x"]. Type == JTokenType. Integer && obj["y"]!= null && obj["y"]. Type == JTokenType. Integer ) return new Point (( int)obj["x"], ( int)obj["y"]); C# 6.0 return null ; Der Elvis-Operator Eine Präsentation der IT-Designers Gruppe 36
54 Neu in C# 6.0 / Null-Wert Operator Wie kann folgendes vereinfacht werden??. Und weiter? class Point public int X get; set; public int Y get; set; public static Point FromJson ( JObject obj) if ( obj!= null && // obj ["x"]!= null && obj ["x"]. Type == JTokenType. Integer && // obj ["y"]!= null && obj ["y"]. Type == JTokenType. Integer ) obj["x"]?. Type == JTokenType. Integer && obj["y"]?. Type == JTokenType. Integer ) return new Point (( int)obj["x"], ( int)obj["y"]); C# 6.0 return null ; Der Elvis-Operator Eine Präsentation der IT-Designers Gruppe 36
55 Neu in C# 6.0 / Null-Wert Operator Wie kann folgendes vereinfacht werden??. Und weiter?? class Point public int X get; set; public int Y get; set; public static Point FromJson ( JObject obj) // if (obj!= null && // obj ["x "]?. Type == JTokenType. Integer && // obj ["y "]?. Type == JTokenType. Integer ) if ( obj?["x"]?. Type == JTokenType. Integer && obj?["y"]?. Type == JTokenType. Integer ) return new Point (( int)obj["x"], ( int)obj["y"]); C# 6.0 return null ; Der Elvis-Operator Eine Präsentation der IT-Designers Gruppe 36
Ich liebe Java && Ich liebe C# Rolf Borst
Ich liebe Java && Ich liebe C# Rolf Borst Java oder C#? Einführung public class Einfuehrung { private int gesamtzahl = 0; /* Ermittelt die Anzahl der geraden und durch drei teilbaren Zahlen */ public String
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
MehrBesonderheiten von C#
Besonderheiten von C# Wert- und Referenztypen int a, b; a = 3; b = a; a++; Debug.Assert( a==4 && b==3 &&!a.equals(b), "int ist doch kein Werttyp" ); RTyp ra, rb; ra = new RTyp(3); rb = ra; ra.inc(); Debug.Assert(
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
MehrNeue Features in C# 2.0
Neue Features in C# 2.0 (gekürzt) Generische Typen Iteratoren Vereinfachte Delegate-Erzeugung Anonyme Methoden Partielle Klassen Sonstiges University of Linz, Institute for System Software, 2004 published
MehrEinführung in die Programmierung (EPR)
Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.
MehrDas Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
MehrEinführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
MehrProgrammieren in Haskell Einführung
Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 16.10.2009 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung
Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:
MehrEinführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
MehrEinfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
Mehr3. Auflage. O Reillys Taschenbibliothek. C# 5.0 kurz & gut. Joseph Albahari & Ben Albahari O REILLY. Aktualisierung von Lars Schulten
O Reillys Taschenbibliothek 3. Auflage C# 5.0 kurz & gut O REILLY Joseph Albahari & Ben Albahari Aktualisierung von Lars Schulten Inhalt C# 5.0 kurz & gut... 1 Ein erstes C#-Programm... 2 Syntax... 5 Typgrundlagen...
MehrBegleitendes Praktikum zur Vorlesung Künstliche Intelligenz
Begleitendes Praktikum zur Vorlesung Künstliche Intelligenz SS12 Kontakt Internet: http://cvpr.uni-muenster.de/teaching/ss12/ki/ RSS-Feed Kalender Dipl.-Math. Michael Schmeing m.schmeinguni-muenster.de
Mehr2. Semester, 2. Prüfung, Lösung
2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter
MehrObjektorientierung: Klassen und Objekte
Vorlesung und Übung Universität Paderborn Wintersemester 2015/2016 Dr. Peter Pfahler Objektorientierung: Klassen und Objekte EWS, WS 2015/16, Pfahler L-1 Objektorientierung behandelt in "Einführung in
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
MehrVererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
MehrDiana Lange. Generative Gestaltung Operatoren
Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrInstitut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode
MehrProgrammierung in C. Grundlagen. Stefan Kallerhoff
Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrLösungsvorschlag zum Übungsblatt 1 zur Vorlesung Informatik II / WS2001/02
Lösungsvorschlag zum Übungsblatt 1 zur Vorlesung Informatik II / WS2001/02 Prof. Dr.-Ing. Holger Vogelsang (FH-Karlsruhe) Dipl.-Inform. (FH) Gudrun Keller (FH-Karlsruhe) Dipl.-Inform. Mathias Supp (.riess
MehrDelegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag
MehrEinführung in die Programmierung
Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und
MehrGraphic Coding. Klausur. 9. Februar 2007. Kurs A
Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrDataTables LDAP Service usage Guide
DataTables LDAP Service usage Guide DTLDAP Usage Guide thomasktn@me.com / www.ktn.ch Benutzung des DTLDAP Service DataTables Der Service stellt einen JSON Feed für DataTables (http://www.datatables.net)
MehrC++ Tutorial: Timer 1
C++ Tutorial: Timer 1 Timer v1.0 Einleitung Raum und Zeit sind spätestens seit der kopernikanischen Wende wichtige Gegenstände des Denkens geworden. In einem Programm bestimmt die Zeit die Abläufe und
Mehr188.154 Einführung in die Programmierung für Wirtschaftsinformatik
Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger
MehrTestklausur 1 zur Vorlesung. Modellierung und Programmierung I. Dr. Monika Meiler Zeit: 60 Minuten
Matrikelnummer: Punkte: Testklausur 1 zur Vorlesung Modellierung und Programmierung I Dr. Monika Meiler Zeit: 60 Minuten Bemerkungen: Jedes Blatt ist mit der Matrikelnummer zu versehen. Jede Aufgabe ist
MehrScala kann auch faul sein
Scala kann auch faul sein Kapitel 19 des Buches 1 Faulheit Faulheit ( lazy evaluation ) ist auch in C oder Java nicht unbekannt int x=0; if(x!=0 && 10/x>3){ System.out.println("In if"); } Nutzen der Faulheit?
MehrDie Java Stream API. Funktionale Programmierung mit der Stream API des JDK 1.8. Prof. Dr. Nikolaus Wulff
Die Java Stream API Funktionale Programmierung mit der Stream API des JDK 1.8 Prof. Dr. Nikolaus Wulff Funktionale Programmierung Neben der Collection API mit default Methoden ist als weitere Neuerung
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrWPF Steuerelemente Listbox, ComboBox, ListView,
WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einführung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten
MehrJava Einführung Collections
Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...
MehrDas erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
MehrDeklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
MehrLINQ to SQL. Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel. Institut für Informatik Software & Systems Engineering
LINQ to SQL Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel Institut für Informatik Software & Systems Engineering Agenda 1. LINQ allgemein Vorteile Bausteine und Varianten
MehrWindows Presentation Foundation (WPF) -Grundlagen -Steuerelemente. Dr. Beatrice Amrhein
Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente Dr. Beatrice Amrhein Überblick Die Architektur WPF Projekt erstellen Steuerelemente einfügen Eigenschaften von Steuerelementen ändern Nach
MehrEinführung in Javadoc
Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:
MehrAuswahlabfragen mit ACCESS
Auswahlabfragen mit ACCESS Abfragekriterien und Operatoren Beim Entwerfen von ACCESS-Auswahlabfragen (queries) sind definierte Abfragekriterien bzw. Operatoren zu benutzen. Ein Abfragekriterium ist eine
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen
Grundlagen der Programmierung Prof. H. Mössenböck 10. Klassen Motivation Wie würde man ein Datum speichern (z.b. 13. November 2004)? 3 Variablen int da; String month; int ear; Unbequem, wenn man mehrere
Mehr5.4 Klassen und Objekte
5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrVerknüpfte Daten abfragen mit SPARQL. Thomas Tikwinski, W3C.DE/AT
Verknüpfte Daten abfragen mit SPARQL Thomas Tikwinski, W3C.DE/AT Agenda SPARQL Eine Anfragesprache für RDF Was ist eine SPARQL-Abfrage? Beispiel Arbeiten mit Variablen Komplexere Anfragen Filtern und sortieren
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrDatenbanken 1. Einführung und Zugänge für die eingesetzten Resourcen. ISWeb - Information Systems & Semantic Web University of Koblenz Landau, Germany
University of Koblenz Landau, Germany Einführung und Zugänge für die eingesetzten Resourcen of 20 Überblick Eingesetzte Resourcen und ihre Zugänge WebCT FTP-Server PHP PostgreSQL
Mehr4D Server v12 64-bit Version BETA VERSION
4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und
MehrC# im Vergleich zu Java
C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung
MehrHello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrAutor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH
Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich
MehrModul 122 VBA Scribt.docx
Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrDesign by Contract with JML
Thema: Design by Contract with JML Proseminar: Assertions Verfasser: Literatur: Betreuer: Natalya Moriz Gary T.Leavens and Yoonsik Cheon: Design by Contract with JML Prof. Dr. Heike Wehrheim 1 Inhalt DBC
MehrBefehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2)
Kurzbeschreibung: Befehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2) Beim HSI-88-USB handelt es sich um ein Interface vom s88-rückmeldebus zum Universal Serial Bus
Mehr5.3.1.6 Laborübung - Task Manager (Verwalten von Prozessen) in Windows Vista
5.0 5.3.1.6 Laborübung - Task Manager (Verwalten von Prozessen) in Windows Vista Einführung Drucken Sie diese Übung aus und folgen Sie den Anweisungen. In dieser Übung werden Sie sich den Task Manager
MehrThomas Claudius Huber. Asynchrone Programmierung mit C#
Thomas Claudius Huber Asynchrone Programmierung mit C# Thomas Claudius Huber Principal Consultant @ Trivadis AG Trainer, Coach, Developer, Architect www.thomasclaudiushuber.com Spezialisiert auf WPF, XAML,
MehrMatrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -
Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung
MehrJava 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7
Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrCross-Platform Mobile mit.net
Cross-Platform Mobile mit.net Mobile Entwicklungslandschaft Nativ Crosscompiled Hybrid Web Beste Usability? Überschaubare Kosten? Was ist Xamarin? Was ist Xamarin? 2011 Gegründet aus dem Ximian, Novell
MehrDatenmanagement in Android-Apps. 16. Mai 2013
Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und
MehrRainer Stropek cubido. Baumschule Expression Trees in C#, CLR und DLR
Rainer Stropek cubido Baumschule Expression Trees in C#, CLR und DLR Inhalt Als Anwendungsentwickler kommt man selten mit Expression Trees in Berührung. Sie sind ein Implementierungsdetail von LINQ. Ihre
MehrKurze Einführung in die Programmiersprache C++ und in Root
Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung
MehrTypdeklarationen. Es gibt in Haskell bereits primitive Typen:
Typdeklarationen Es gibt in bereits primitive Typen: Integer: ganze Zahlen, z.b. 1289736781236 Int: ganze Zahlen mit Computerarithmetik, z.b. 123 Double: Fließkommazahlen, z.b. 3.14159 String: Zeichenketten,
MehrIngenieurinformatik Diplom-FA (C-Programmierung)
Hochschule München, FK 03 WS 2014/15 Ingenieurinformatik Diplom-FA (C-Programmierung) Zulassung geprüft: (Grundlagenteil) Die Prüfung ist nur dann gültig, wenn Sie die erforderliche Zulassungsvoraussetzung
MehrSDK zur CRM-Word-Schnittstelle
SDK zur CRM-Word-Schnittstelle SDK zur CRM Wordinterface für Microsoft Dynamics CRM2011 zur Version 5.2.0 Inhalt 1. Vorwort... 3 2. Voraussetzungen... 4 3. Funktionsbeschreibung... 4 4. Technische Funktionsbeschreibung...
Mehrpublic class SternchenRechteckGefuellt {
Java programmieren: Musterlösungen Konsolen-Aufgaben Aufgabe 1: Gefüllte Rechtecke zeichnen Schreiben Sie ein Programm, das ein durch Sternchen gefülltes Rechteck zeichnet. Der Benutzer soll Breite und
MehrJava Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
MehrC# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung
C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung 1. "Hai!" [Konsolenanwendung] Console.WriteLine("Hai, wie geht's?"); 2. Muktiplikation mit sich selbst [Konsolenanwendung] // Ausgabe
MehrStudentische Lösung zum Übungsblatt Nr. 7
Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int
MehrZusammenfassung des Handzettels für Programmieren in C
Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.
Mehr5.5.8 Öffentliche und private Eigenschaften
5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung
Mehr13. Tutorium zu Programmieren
13. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2009 by IPD Snelting
MehrC-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07)
C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07) 1. Aufgabe 6 Punkte Geben Sie Definitionen an für: float var; 1 a) eine float-variable var: b) einen Zeiger pvar, der float *pvar = &var; 1 auf die
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
MehrVorlesung Informatik II
Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 02. JAVA: Erstes Programm 1 Das erste Java-Programm
MehrJavakurs 2013 Objektorientierung
Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
MehrKlausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2009, 16. Juli 2009 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
MehrThe app the crashes, before the breakpoint is reached: Code to the event:
I have set a breakpoint in an asyc event-handler to ListView.ItenTapped-Event (see screenshot below): I then tap on an ListView-entry on my iphone 5 The app the crashes, before the breakpoint is reached:
MehrKontrollstrukturen und Funktionen in C
Kontrollstrukturen und Funktionen in C Lernziele: Vertiefen der Kenntnisse über Operatoren, Kontrollstrukturen und die Verwendung von Funktionen. Aufgabe 1: Quickies: Datentypen in C a) Was sind die elementaren
Mehr1.2 Attribute und Methoden Aufbau einer Java-Klasse:
Aufbau einer Java-Klasse: public class Quadrat { int groesse; int xposition; String farbe; boolean istsichtbar; public void sichtbarmachen() { istsichtbar = true; public void horizontalbewegen(int distance){
MehrDokumentation: Content App Framework
Dokumentation: Content App Framework Andreas Breuninger, medialesson GmbH Januar 2013 Inhaltsverzeichnis 1. DataService... 3 1.1. Laden/Parsen der Daten... 3 1.1.1. GetDataset() -> GetDataAsync() ->
MehrProgrammieren was ist das genau?
Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet
MehrProgrammiervorkurs WS 2012/2013. Schleifen und Methoden
Programmiervorkurs WS 2012/2013 Schleifen und Methoden Ein Befehl soll mehrfach ausgeführt werden, z.b.: public class MyCounter { System.out.println(1); Ein Befehl soll mehrfach ausgeführt werden, z.b.:
Mehr5. Tutorium zu Programmieren
5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting
MehrEinrichten einer mehrsprachigen Webseite mit Joomla (3.3.6)
Einrichten einer mehrsprachigen Webseite mit Joomla (3.3.6) 1. Loggen Sie sich im Administratorbereich ein und gehen Sie auf Extension > Extension Manager 2. Wählen Sie Install languages 3. Klicken Sie
Mehr