Bjørk Boye Busch - C# side
Denne side indeholder en oversigt over noter og eksempler, jeg har udarbejdet i C# til brug på datamatiker uddannelsen, UCL Erhvervsakademi og Professionshøjskole .
Materialet må anvendes efter aftale.
Øvrige må også gerne henvende sig hvis de ønsker, at anvende det til deres undervisning (betingelsen er normalt blot feedback).

 


Sidst opdateret den
2019.04.30

hjemmeside · kanal på YouTube

 

Opgaveoversigt
Løsningsoversigt

Gennerel C#, algoritmer og skabeloner

Distribueret og vidregående C# programmering

Diverse vejledninger til C#, .NET og Visual Studio

 

 

Materiale til mit C# kursus på IOT (FOP)
Materiale til mit C# kursus på IOT (DOT1)

Materiale til mit VVU kursus i systemkonstruktion

Andet materiale og links om C#

 

 Opgaver

Opgaveoversigt
Løsningsoversigt

Opgavesamling med mindre og større C# opgaver
Løsninger til opgavesamling

 

 Gennerel C#, algoritmer og skabeloner

Slides på engelsk Power point slides om variable i C#
Slides på engelsk Power point slides om selection og repetition i C#
Slides på engelsk Power point slides om klasse og object metoder i C#
   
Tekst Skabelon for udskrift af print-lister
   
Eksempel Varekartotek-applikation med klasser opsplittet i selvstændige filer  (Cs001)
Eksempel Varekartotek-applikation med singleton-Varekatalog klasse indeholdende varesamlingen  (Cs001)
Eksempel Varekartotek-applikation med Vare-funktions-klasse til specielle funktioner  (Cs001)
Eksempel Varekartotek-applikation med properties på Vare  (Cs001)
Eksempel Varekartotek-applikation med interface på Vare  (Cs001)
Eksempel Varekartotek-applikation med persistens ved serialiseing  af varekatalog (Cs001)
Eksempel Varekartotek-applikation med try catch (Cs004)
Eksempel Varekartotek-applikation med persistens ved serialiseing  af vare-collection (Cs004)
Eksempel Eksempel på skrivning og læsning fra tekstfiler
Eksempel Eksempel på en række visuelle komponenter
Eksempel Eksempel på simpel tilgang til en vare-database fra C# ved brug af DataReader (Cs001 varen)
Eksempel Eksempel på simpel tilgang til en forenings-database fra C# ved brug af DataReader
Eksempel Eksempel på varesystem med 2 modeller en uden database og en med database incl. opdatering (Cs010 )
Eksempel Eksempel på varesystem med 2 modeller en uden database og en med database incl. opdatering (Cs010 )
Opdeling i komponenter - bruger-grænseflade , funktioner, model, modelinterface, model-impl.
Eksempel Eksempel på VareGateway med cache (til foregående eksempel)
Eksempel Varekartotek-applikation med forskellige sorteringer (varenr, betegnelse og salgspris) på Vare  (Cs001)
Eksempel Test af validering med brug af regulære udtryk
Eksempel · Source Web - Eksempel på brug af Application, Session, ViewState, Coockie og URL data
Eksempel  Eksempel på brug af web datagrid
Eksempel Eksempel på optimistic offline lock
Eksempel Eksempel på optimistic offline lock - endnu et eksempel
Eksempel Eksempel  - basis tilgang til database med ADO.net, connection, command og datareader
Eksempel Hvordan bruger jeg IFormater interfacet og får min ListBox til at vise andet teksten fra ToString( ) metoden
   
Eksempel med video ·  video Hvordan kan opdele interfaces til modelkomponenten, implementationen af klasserne og brugergrænsefladen i selvstændige projekter.
Eksempel Simpel eksempel med model med interface og test (cirkel)
Eksempel
Eksempel
Eksempel med model og brugergrænseflade (supermarkedsmodel) - MaxiBio
Eksemplet udvidet med interface og opdelt i flere projekter/library
Eksempel Eksempel på modelkomponent med interfaces opdelt i flere library - Powerteknik
Eksempel Eksempel på modelkomponent med interfaces opdelt i flere library - Forening
Eksempel Eksempel på modelkomponent med interfaces opdelt i flere library - Forening - med database
Eksempel Eksempel på modelkomponent med interfaces opdelt i flere library - Forening -med database og cache
Eksempel Eksempel på kontrol af skift mellem flere skærmbilleder med GUI controler
Program Program til afprøvning af SQL - kræver ikke microsoft sql manager studio instaleret
   

 

 

 

 Distribueret og vidregående C# programmering
Tekst Begreber om binære træer
Eksempel Implementation af et binært søgetræ i med nogle af basis metoderne C#
   
Slides Slides om tråde og synkronisering
Eksempel
Eksempel
Eksempel
Eksempel
Tråd eksempel 1 - primitiv enkel tråd
Tråd eksempel 2 - primitiv 2 tråde
Tråd eksempel 3 - tråd i egen klasse
Tråd eksempel 4 - tråd i egen klasse - flere tråde - join
Eksempel Tråd eksempel 5 - synkronisering - primitiv uden resource-monitor
Eksempel Tråd eksempel 6 - synkronisering - primitiv uden resource-monitor
Eksempel Tråd eksempel 7- synkronisering med monitor - monitor design
Eksempel Tråd eksempel 8- sikker stop af tråd - det gode tråd design
Eksempel Tråd eksempel 9 - producer-consumer - klasisk mønster
Eksempel Tråd eksempel 10 - med tråd klasse og resource-monitor - det gode design
Eksempel Trådeksempel parkeringshus (simpel producer-consumer) - med problem: missed notification
Eksempel Trådeksempel parkeringshus (simpel producer-consumer) - med guarded suspention - korrekt design
Eksempel Parkeringshus med observerpattern - event - herunder kaskade events
Eksempel Windows Form med tråde- og gui med invoke
Eksempel Observerpattern - tråde klasse med event - og gui med invoke
Eksempel Observerpattern - brug af cascade events
Eksempel Trinvis udvikling af et termometer, med tråd, monitor og gui - fra simple klasser til løsning med tråde og event - udviklingsversioner 1 til 5
   
Slides
Slides
Slides om socket part 1 (nokn)
Slides om socket part 2 multitrådet (nokn)
Eksempel Eksempel på primitiv socket server og klient
Program Program til test af socket tekst forbindelse (både server og klient) med GUI
Eksempel Eksempel på primitiv http forbindelse med socket server og klient
Eksempel Eksempel på simpel socket echo server - med enkelt klient og multi-klient behandling
Eksempel Eksempel på socket server design med udgangspunkt i echo-funktioner, men kommando-baseret og med udskillelse af dialog og  udførsel af funktioner
Eksempel  Udvidelse af designløsninger for socket server. Dels udskilles dialog og funktioner og dels gives løsninger på såvel simpel funktionsudførsel,  tilgang til delte data, styring af session ved såvel kontinuerlig opkobling som ved on-/off opkobling, hvor der ikke er en kontinuerlig opkobling.
Eksempel  Eksempel på design af chat-server med opdeling i dialog og udførsel af funktionalitet - illustrer dele af fundamentet bag remoting.
   
Slides
Slides
Slides om remoting
Slides om Proxy mønster
   
Eksempel Remoting Math Eksempel - simpel funktion
Eksempel Model eksempel for remoting med C# - Server activated
Eksempel Model eksempel for remoting med C# - Client activated
Eksempel Remote MBRO MBVO Demo
Eksempel · uden remoting Remoting Vare - indeholder også ikke remoting eksempel for sammenligning / udviklingstrin
Eksempel · uden remoting Remoting Varekatalog med remoting varer - indeholder også ikke remoting eksempel for sammenligning / udviklingstrin
Eksempel  · uden remoting Remoting Vare med bevægelser, der ikke er remote (DTO) - indeholder også ikke remoting eksempel for sammenligning / udviklingstrin
Eksempel Remoting Varefacade som session controler - med vare og bevægelser som DTO - indeholder også ikke remoting eksempel for sammenligning / udviklingstrin
   
Slides - Slides ny udgave Slides til webservice
Eksempel WebService Demo:  Calc og kald af Google service
Eksempel WebService med Postdistrikt og  Person
Eksempel WebService eksempel på brug af  Application og Session
Eksempel Weservice med Vareservice der bruger Session og fælles domain model
Eksempel Webservice med anvendelse af transaction script
   
Slides Slides til WcfService
   
PDF Grafnote
Eksempel Eksempel på simpel implementering af graf med matrix og hjælpestrukturer
Graf med adjant-matrix - med dybde først, bredde først, minimum spanning tree (Prim og Kruskal) samt shortest path (Dijkstra)
Directed / unddirected og  vægtet
DijkstraApplet.html Dijkstra simulator - viser graf grafisk og viser Dijkstras shortest pass algoritme trin for trin - man kan også tegne sin egen graf med punkter og kanter.
Video ·  video Video med gennemgang af Dijkstra's shortest path, samt kort intro med dybde-/bredde først, Prim's minimum spanning tree
   
Eksempel (ældre udgave fra nokn) EBNF - Syntaksstyret indlæsning af medlemsliste - java stringtokizer anvendt i forbindelse med den leksikalske analyse (Peter / Niels Otto - eksempel)
Eksempel (ældre udgave fra nokn tilrettet) EBNF - Syntaksstyret indlæsning af medlemsliste - med state-pattern brug i leksikalske analyse (Bjørks) - resten er som ovenstående eksempel.
Eksempel State baseret string-tokenizer  og leksikalsk analyse  (eksempler på både push og pull)
Eksempel 
(ny - bruges som basis skabeloner)
EBNF - Syntaksstyret indlæsning af medlemsliste - med statepattern anvendt i parser - opdeling selvstændige faser og generering af medlemsliste model (syntakstræ). Med anvendelse af states, hvor der gives overgange uden der anvendes input (null-overgange) for at give klare flow i forhold til handlinger.

Eksemplet er udvidet pr. 2009.12.11, så der er 2 løsnings varianter af den leksikalske analyse og 2 varianter af en parser ( state-pattern og regelbaseret)

Tools Værktøj til Lekikalsk analyse og parsing  ((LALR(1) - Flex+Bisson) til C#
Værktøjet er fra Malcolm Crowe at the University of Paisley.(malcolm.crowe@paisley.ac.uk)
Det er blevet omstruktureret og lettere tilpasset, så det kan bruges sammen med Visual Studio
Eksempel Visual Studio 2008 løsning med brug af værktøj (LALR(1) - Flex+Bisson)
Eksempel 32 fra Malcolm Crowe med værktøj
Eksempel · Kun Scannerdel Visual Studio 2008 løsning med brug af værktøj (LALR(1) - Flex+Bisson)
Medlemsliste eksempel - kun analyse og parsing uden tilpasning under parsing
Eksempel Visual Studio 2008 løsning med brug af værktøj (LALR(1) - Flex+Bisson)
Meldlemsliste eksempel - MED opbygning af Medlemsliste-model under parsingen
Eksempel Visual Studio 2008 løsning med brug af værktøj (LALR(1) - Flex+Bisson)
Ruteplan eksempel - MED opbygning af Ruteplan-model under parsingen
   
Eksempel Simpel stringtokenizer, der kan opdele en sting i elementer ud fra whitespaces og enkelt skilletegn
Eksempel Leksikalsk analyse for ruteplan - regelbaseret bestemmelse af tokens, der er opdelt
Eksempel Parser for ruteplan - regelbaseret ud fra allerede typebestemte tokens. Opbygger ruteplan-model (syntakstræ)
Eksempel Graf algoritme løsninger for ruteplan ud fra ruteplan-model (syntakstræ) og generel graf (adjant-matrix)
Eksempel Samlet ruteplan løsning baseret på EBNF grammatik beskrevet  input.
Leksikalsk analyse
Parsing
Behandling af rute med graf-algoritmer
   

 

 

 

 MySql
mysql-4.1.12-win32.zip MySql
mysql-connector-net-1.0.4.zip C# connection til MySql database
mysql-query-browser-1.1.9-win.zip MySql query browser

 

 

 Andet materiale samt link til andre sider om C#

The C# Station Tutorial
C# Practical Learning
A Comparative Overview of C#
Database connections string: http://www.connectionstrings.com/

C#, Csharp, C Sharp, C++, C plus plus, java, programmering, systemudvikling, software konstruktion, software developement, systemkonstruktion, datamatiker, maskinarkitektur, processtyring,assembler, .NET, ASP.NET, Java mobile, j2me, PDA, Bjørk Busch, Bjørk Boye Busch, Bjoerk, Bjork, xn--bjrk-hr, xn--bjrks-wua, Bjorks, Bjoerks, Bjørks
http://bjbu.dk, http://bjbu.net, http://bjbu.eu, http://bjrk.net, http://bjrk.eu, http://bjrk.info, http://bjørk.net, http://xn--bjrk-hr.net, http://bjørks.com, http://xn--bjrks-wua.com, http://bjørks.net, http://xn--bjrks-wua.net http://bjørks.dk, http://xn--bjrks-wua.dk http://bjoerks.com, http://bjoerks.net, http://bjoerks.info,
http://www.bjbu.dk, http://www.bjbu.net, http://www.bjbu.eu, http://www.bjrk.net, http://www.bjrk.eu, http://www.bjrk.info, http://www.bjørk.net, http://www.xn--bjrk-hr.net, http://www.bjørks.com, http://www.xn--bjrks-wua.com, http://www.bjørks.net, http://www.xn--bjrks-wua.net http://www.bjørks.dk, http://www.xn--bjrks-wua.dk http://www.bjoerks.com, http://www.bjoerks.net, http://www.bjoerks.info,