Använd vänsterpil och högerpil för att navigera
Eller Ctrl+P för att skriva ut till PDF (eller på papper)
Idag
- Publicering av inlämningsuppgift 1
- Gemensam genomgång av inlämningsuppgift 1
Sammanfattning av förra lektionen
Vilka var de viktigaste lärdomarna?
Lektion 4
Komposita datatyper
Klasser och objekt
Samlingar av namngivna värden
Beskriv en person med variabler
- string firstName = "Brad";
- string lastName = "Pitt";
- int age = 53;
Beskriv två personer med variabler
- string firstName1 = "Brad";
- string lastName1 = "Pitt";
- int age1 = 53;
- string firstName2 = "Will";
- string lastName2 = "Smith";
- int age2 = 48;
Gruppera värden per person
- Person person1 = new Person {
- FirstName = "Brad",
- LastName = "Pitt",
- Age = 53
- };
- Person person2 = new Person {
- FirstName = "Will",
- LastName = "Smith",
- Age = 48
- };
Egen datatyp för personer
- using System;
- ...
- namespace ConsoleApp {
- class Person {
- public string FirstName;
- public string LastName;
- public int Age;
- }
- class Program {
- static void Main(string[] args) {
- Person person = ...;
- }
- }
- }
Skapa och använd värden av typen Person
- Person person1 = new Person {
- FirstName = "Brad",
- LastName = "Pitt",
- Age = 53
- };
- Person person2 = new Person {
- FirstName = "Will",
- LastName = "Smith",
- Age = 48
- };
- bool sameName = person1.FirstName == person2.FirstName;
- int ageDifference = person1.Age - person2.Age;
Förändra värden
- Person person = new Person {
- FirstName = "Brad",
- LastName = "Pitt",
- Age = 53
- };
- person.Age = person.Age + 1;
- person.LastName = "Svensson";
Arrays
Samlingar av icke-namngivna värden av godtyckligt antal
Ett värde per variabel
- int firstScore = 20;
- int secondScore = 28;
- int thirdScore = 15;
- int fourthScore = 49;
- int fifthScore = 10;
- int numberOfScores = 5;
Gruppera värden i en array
- int[] scores = { 20, 28, 15, 49, 10 };
- int firstScore = scores[0];
- int secondScore = scores[1];
- int thirdScore = scores[2];
- int fourthScore = scores[3];
- int fifthScore = scores[4];
- int numberOfScores = scores.Length;
Hitta sista värdet oavsett antal
- int[] scores = { 20, 28, 15, 49, 10, ... };
- int lastScore = ...;
Hitta sista värdet oavsett antal
- int[] scores = { 20, 28, 15, 49, 10, ... };
- int numberOfScores = scores.Length;
- int lastScore = scores[numberOfScores - 1];
- int lastScore = scores[scores.Length - 1];
Summera samtliga värden
- int[] scores = { 20, 28, 15, 49, 10, ... };
- int totalScore = 0;
- totalScore += scores[0];
- totalScore += scores[1];
- totalScore += scores[2];
- ...
- totalScore += scores[scores.Length - 1];
Summera med while-loop
- int[] scores = { 20, 28, 15, 49, 10, ... };
- int totalScore = 0;
- int i = 0;
- while (i < scores.Length) {
- int number = scores[i];
- totalScore += number;
- i += 1;
- }
Summera med for-loop
- int[] scores = { 20, 28, 15, 49, 10, ... };
- int totalScore = 0;
- for (int i = 0; i < scores.Length; i += 1) {
- int number = scores[i];
- totalScore += number;
- }
Summera med foreach-loop
- int[] scores = { 20, 28, 15, 49, 10, ... };
- int totalScore = 0;
- foreach (int number in scores) {
- totalScore += number;
- }
Förändra värden
- int[] scores = { 20, 28, 15, 49, 10 };
- scores[0] = 5;
- scores[1] = 17;
Bokstäver i en sträng
- string name = "Jakob";
- int numberOfLetters = name.Length;
- char firstLetter = name[0];
- char secondLetter = name[1];
- char thirdLetter = name[2];
- char lastLetter = name[name.Length - 1];
Loopa över bokstäver i en sträng
- string name = "Jakob";
- string spaced = "";
- foreach (char letter in name) {
- spaced += letter + " ";
- }
Strängar eller arrays av tecken?
- string name1 = "Jakob";
- char[] name2 = { 'J', 'a', 'k', 'o', 'b' };
Icke-muterbarhet
- string name = "Jakob";
- name[0] = 'X';
Nästlade komposita datatyper
Komposita datatyper i komposita datatyper
Objekt inuti array
- class Person {
- public string FirstName;
- public string LastName;
- ...
- }
- Person[] people = {
- new Person { FirstName = "Thorin", ... },
- new Person { FirstName = "Balin", ... },
- new Person { FirstName = "Kili", ... }
- };
Array inuti objekt
- class Person {
- public string FirstName;
- public string LastName;
- public string[] Nicknames;
- }
- Person frank = new Person {
- FirstName = "Frank",
- LastName = "Sinatra",
- Nicknames = new string[] {
- "The Voice",
- "Ol' Blue Eyes",
- "Swoonatra"
- }
- };