using System.Collections.Generic; using Project_Periodensystem.Model; namespace Project_Periodensystem.Persistence { /// /// Statische Datenquelle für alle chemischen Elemente des Periodensystems /// /// ZWECK UND DATENMODELL: /// - Eingebaute, unveränderliche Datenbasis für das Periodensystem /// - Fallback-Datenquelle wenn externe JSON-Dateien nicht verfügbar sind /// - Demonstration großer statischer Datenstrukturen in C# /// - Vollständige wissenschaftliche Elementdaten für Bildungszwecke /// /// DATENORGANISATION: /// - 118 chemische Elemente (vollständiges Periodensystem bis 2023) /// - Organisiert nach Perioden (Zeilen) für bessere Lesbarkeit /// - Jedes Element mit 9 Eigenschaften (AtomicNumber bis Column) /// - Wissenschaftlich korrekte Daten basierend auf IUPAC-Standards /// /// C# KONZEPTE: /// - Static Class: Globaler Zugriff ohne Instanziierung /// - Static Property: Elements als unveränderliche Datenquelle /// - Collection Initializer: new List<Element> { ... } Syntax /// - Object Initializer: new Element(...) für jeden Eintrag /// - Large Data Arrays: Umgang mit umfangreichen Datensätzen /// /// DESIGN PATTERNS: /// - Static Factory: Stellt vorgefertigte Element-Sammlung bereit /// - Immutable Data: Nur Getter, keine Setter für Elements /// - Reference Data: Unveränderliche Stammdaten /// - Embedded Resource: Daten sind Teil der kompilierten Assembly /// /// WISSENSCHAFTLICHE GENAUIGKEIT: /// - Atomgewichte: Relative Atommassen basierend auf IUPAC 2021 /// - Elektronegativität: Pauling-Skala mit 2 Dezimalstellen /// - Dichte: g/cm³ bei Standardbedingungen (20°C, 1 atm) /// - Elementserien: Moderne Klassifikation nach chemischen Eigenschaften /// - Positionen: Row/Column entsprechen Standard-Periodensystem-Layout /// /// WARTUNG UND ERWEITERUNG: /// - Neue Elemente können einfach zur Liste hinzugefügt werden /// - Datenformat ist konsistent und selbst-dokumentierend /// - Kommentare gruppieren Elemente nach Perioden für Übersichtlichkeit /// - Jeder Eintrag folgt dem gleichen Schema für Konsistenz /// public static class PeriodicTableData { /// /// Vollständige Liste aller bekannten chemischen Elemente /// /// DATENSTRUKTUR: /// - List<Element>: Dynamische Sammlung von Element-Objekten /// - Static Property: Einmalige Initialisierung beim ersten Zugriff /// - Read-Only: Nur Getter, keine externe Manipulation möglich /// - Auto-Property: Compiler generiert backing field automatisch /// /// INITIALISIERUNG: /// - Collection Initializer: Elegante Syntax für große Datenmengen /// - Compile-Time: Alle Daten werden zur Compile-Zeit in Assembly eingebettet /// - Memory Efficient: Daten werden nur einmal geladen und geteilt /// /// ZUGRIFF: /// var elements = PeriodicTableData.Elements; /// var hydrogen = elements.First(e => e.Symbol == "H"); /// public static List Elements { get; } = new List { // ===== ERSTE PERIODE ===== // Die einfachsten Elemente: Wasserstoff und Helium // Besonderheiten: Nur 1s-Orbitale gefüllt, einzigartige Eigenschaften new Element( 1, "H", "Wasserstoff", 1.008, 2.20, 0.000, "Nichtmetall", 0, 0), // Leichtestes Element, Grundbaustein des Universums new Element( 2, "He", "Helium", 4.003, 0.00, 0.001, "Edelgas", 0, 17), // Edelgas mit vollständiger Schale, chemisch inert // ===== ZWEITE PERIODE ===== // Elemente mit 2 Elektronenschalen (1s² + 2s/2p) // Wichtige biologische und technische Elemente new Element( 3, "Li", "Lithium", 6.940, 0.98, 0.534, "Alkalimetall", 1, 0), // Leichtestes Metall, wichtig für Batterien new Element( 4, "Be", "Beryllium", 9.012, 1.57, 1.850, "Erdalkalimetall", 1, 1), // Leicht aber giftig, Luft-/Raumfahrt new Element( 5, "B", "Bor", 10.810,2.04, 2.340, "Halbmetall", 1, 12), // Grenze zwischen Metall/Nichtmetall new Element( 6, "C", "Kohlenstoff", 12.011,2.55, 2.267, "Nichtmetall", 1, 13), // Basis allen Lebens, vielfältigste Chemie new Element( 7, "N", "Stickstoff", 14.007,3.04, 0.001, "Nichtmetall", 1, 14), // 78% der Atmosphäre, wichtig für Proteine new Element( 8, "O", "Sauerstoff", 15.999,3.44, 0.001, "Nichtmetall", 1, 15), // Lebenswichtig, 21% der Atmosphäre new Element( 9, "F", "Fluor", 18.998,3.98, 0.002, "Halogen", 1, 16), // Höchste Elektronegativität, sehr reaktiv new Element( 10, "Ne", "Neon", 20.180,0.00, 0.001, "Edelgas", 1, 17), // Leuchtreklame, chemisch inert // ===== DRITTE PERIODE ===== // Erste Periode mit d-Orbital-Möglichkeiten // Viele technisch wichtige Elemente (Aluminium, Silizium) new Element( 11, "Na", "Natrium", 22.990,0.93, 0.971, "Alkalimetall", 2, 0), // Kochsalz, lebenswichtig für Nerven new Element( 12, "Mg", "Magnesium", 24.305,1.31, 1.738, "Erdalkalimetall", 2, 1), // Chlorophyll-Zentrum, leichte Legierungen new Element( 13, "Al", "Aluminium", 26.982,1.61, 2.698, "Post-Übergangsmetall",2, 12), // Häufigstes Metall der Erdkruste new Element( 14, "Si", "Silizium", 28.085,1.90, 2.329, "Halbmetall", 2, 13), // Basis der Halbleiter-Technologie new Element( 15, "P", "Phosphor", 30.974,2.19, 1.820, "Nichtmetall", 2, 14), // DNA/RNA, Energie-Übertragung (ATP) new Element( 16, "S", "Schwefel", 32.060,2.58, 2.067, "Nichtmetall", 2, 15), // Proteine, Vulkanismus new Element( 17, "Cl", "Chlor", 35.450,3.16, 0.003, "Halogen", 2, 16), new Element( 18, "Ar", "Argon", 39.948,0.00, 0.002, "Edelgas", 2, 17), // Vierte Periode new Element( 19, "K", "Kalium", 39.098,0.82, 0.862, "Alkalimetall", 3, 0), new Element( 20, "Ca", "Calcium", 40.078,1.00, 1.540, "Erdalkalimetall", 3, 1), new Element( 21, "Sc", "Scandium", 44.956,1.36, 2.989, "Metall", 3, 2), new Element( 22, "Ti", "Titan", 47.867,1.54, 4.540, "Metall", 3, 3), new Element( 23, "V", "Vanadium", 50.942,1.63, 6.110, "Metall", 3, 4), new Element( 24, "Cr", "Chrom", 51.996,1.66, 7.150, "Metall", 3, 5), new Element( 25, "Mn", "Mangan", 54.938,1.55, 7.440, "Metall", 3, 6), new Element( 26, "Fe", "Eisen", 55.845,1.83, 7.874, "Metall", 3, 7), new Element( 27, "Co", "Cobalt", 58.933,1.88, 8.860, "Metall", 3, 8), new Element( 28, "Ni", "Nickel", 58.693,1.91, 8.912, "Metall", 3, 9), new Element( 29, "Cu", "Kupfer", 63.546,1.90, 8.960, "Metall", 3, 10), new Element( 30, "Zn", "Zink", 65.380,1.65, 7.140, "Metall", 3, 11), new Element( 31, "Ga", "Gallium", 69.723,1.81, 5.910, "Post-Übergangsmetall",3, 12), new Element( 32, "Ge", "Germanium", 72.630,2.01, 5.323, "Halbmetall", 3, 13), new Element( 33, "As", "Arsen", 74.922,2.18, 5.776, "Halbmetall", 3, 14), new Element( 34, "Se", "Selen", 78.971,2.55, 4.809, "Nichtmetall", 3, 15), new Element( 35, "Br", "Brom", 79.904,2.96, 3.122, "Halogen", 3, 16), new Element( 36, "Kr", "Krypton", 83.798,3.00, 0.004, "Edelgas", 3, 17), // Fünfte Periode new Element( 37, "Rb", "Rubidium", 85.468,0.82, 1.532, "Alkalimetall", 4, 0), new Element( 38, "Sr", "Strontium", 87.620,0.95, 2.640, "Erdalkalimetall", 4, 1), new Element( 39, "Y", "Yttrium", 88.906,1.22, 4.472, "Metall", 4, 2), new Element( 40, "Zr", "Zirconium", 91.224,1.33, 6.520, "Metall", 4, 3), new Element( 41, "Nb", "Niob", 92.906,1.60, 8.570, "Metall", 4, 4), new Element( 42, "Mo", "Molybdän", 95.950,2.16,10.220, "Metall", 4, 5), new Element( 43, "Tc", "Technetium", 98.000,1.90,11.000, "Metall", 4, 6), new Element( 44, "Ru", "Ruthenium", 101.070,2.20,12.370, "Metall", 4, 7), new Element( 45, "Rh", "Rhodium", 102.910,2.28,12.410, "Metall", 4, 8), new Element( 46, "Pd", "Palladium", 106.420,2.20,12.020, "Metall", 4, 9), new Element( 47, "Ag", "Silber", 107.868,1.93,10.490, "Metall", 4, 10), new Element( 48, "Cd", "Cadmium", 112.414,1.69, 8.650, "Metall", 4, 11), new Element( 49, "In", "Indium", 114.818,1.78, 7.310, "Post-Übergangsmetall",4, 12), new Element( 50, "Sn", "Zinn", 118.710,1.96, 7.287, "Post-Übergangsmetall",4, 13), new Element( 51, "Sb", "Antimon", 121.760,2.05, 6.685, "Halbmetall", 4, 14), new Element( 52, "Te", "Tellur", 127.600,2.10, 6.232, "Halbmetall", 4, 15), new Element( 53, "I", "Iod", 126.900,2.66, 4.930, "Halogen", 4, 16), new Element( 54, "Xe", "Xenon", 131.293,2.60, 0.006, "Edelgas", 4, 17), // Sechste Periode new Element( 55, "Cs", "Caesium", 132.910,0.79, 1.930, "Alkalimetall", 5, 0), new Element( 56, "Ba", "Barium", 137.330,0.89, 3.620, "Erdalkalimetall", 5, 1), // Das 4f-Block (57–71) folgt unten new Element( 72, "Hf", "Hafnium", 178.490,1.30,13.310, "Metall", 5, 3), new Element( 73, "Ta", "Tantal", 180.950,1.50,16.654, "Metall", 5, 4), new Element( 74, "W", "Wolfram", 183.840,2.36,19.250, "Metall", 5, 5), new Element( 75, "Re", "Rhenium", 186.210,1.90,21.020, "Metall", 5, 6), new Element( 76, "Os", "Osmium", 190.230,2.20,22.590, "Metall", 5, 7), new Element( 77, "Ir", "Iridium", 192.220,2.20,22.560, "Metall", 5, 8), new Element( 78, "Pt", "Platin", 195.080,2.28,21.450, "Metall", 5, 9), new Element( 79, "Au", "Gold", 196.970,2.54,19.320, "Metall", 5, 10), new Element( 80, "Hg", "Quecksilber", 200.590,2.00,13.534, "Metall", 5, 11), new Element( 81, "Tl", "Thallium", 204.380,1.62,11.850, "Post-Übergangsmetall",5, 12), new Element( 82, "Pb", "Blei", 207.200,2.33,11.340, "Post-Übergangsmetall",5, 13), new Element( 83, "Bi", "Bismut", 208.980,2.02, 9.780, "Post-Übergangsmetall",5, 14), new Element( 84, "Po", "Polonium", 209.000,2.00, 9.196, "Post-Übergangsmetall",5, 15), new Element( 85, "At", "Astat", 210.000,2.20, 7.000, "Halbmetall", 5, 16), new Element( 86, "Rn", "Radon", 222.000,0.00, 0.010, "Edelgas", 5, 17), // Siebte Periode (ohne 5f-Block) new Element( 87, "Fr", "Francium", 223.000,0.70, 1.870, "Alkalimetall", 6, 0), new Element( 88, "Ra", "Radium", 226.000,0.90, 5.500, "Erdalkalimetall", 6, 1), new Element(104, "Rf", "Rutherfordium", 267.000,0.00,23.200, "Metall", 6, 3), new Element(105, "Db", "Dubnium", 270.000,0.00,29.300, "Metall", 6, 4), new Element(106, "Sg", "Seaborgium", 271.000,0.00,35.000, "Metall", 6, 5), new Element(107, "Bh", "Bohrium", 270.000,0.00,37.100, "Metall", 6, 6), new Element(108, "Hs", "Hassium", 270.000,0.00,41.000, "Metall", 6, 7), new Element(109, "Mt", "Meitnerium", 278.000,0.00,27.000, "_", 6, 8), new Element(110, "Ds", "Darmstadtium", 281.000,0.00,28.500, "_", 6, 9), new Element(111, "Rg", "Roentgenium", 282.000,0.00,32.000, "_", 6, 10), new Element(112, "Cn", "Copernicium", 285.000,0.00,23.700, "_", 6, 11), new Element(113, "Nh", "Nihonium", 286.000,0.00,16.000, "_", 6, 12), new Element(114, "Fl", "Flerovium", 289.000,0.00,14.000, "_", 6, 13), new Element(115, "Mc", "Moscovium", 290.000,0.00,13.500, "_", 6, 14), new Element(116, "Lv", "Livermorium", 293.000,0.00,12.900, "_", 6, 15), new Element(117, "Ts", "Tennessine", 294.000,0.00, 7.200, "_", 6, 16), new Element(118, "Og", "Oganesson", 294.000,0.00, 4.900, "_", 6, 17), // Lanthanoide (La–Lu) → in Zeile 8 (4f-Block) new Element( 57, "La", "Lanthan", 138.910,1.10, 6.145, "Lanthanoid", 8, 0), new Element( 58, "Ce", "Cer", 140.120,1.12, 6.770, "Lanthanoid", 8, 1), new Element( 59, "Pr", "Praseodym", 140.910,1.13, 6.773, "Lanthanoid", 8, 2), new Element( 60, "Nd", "Neodym", 144.240,1.14, 7.007, "Lanthanoid", 8, 3), new Element( 61, "Pm", "Promethium", 145.000,1.13, 7.260, "Lanthanoid", 8, 4), new Element( 62, "Sm", "Samarium", 150.360,1.17, 7.520, "Lanthanoid", 8, 5), new Element( 63, "Eu", "Europium", 151.960,1.20, 5.243, "Lanthanoid", 8, 6), new Element( 64, "Gd", "Gadolinium", 157.250,1.20, 7.895, "Lanthanoid", 8, 7), new Element( 65, "Tb", "Terbium", 158.930,1.10, 8.229, "Lanthanoid", 8, 8), new Element( 66, "Dy", "Dysprosium", 162.500,1.22, 8.550, "Lanthanoid", 8, 9), new Element( 67, "Ho", "Holmium", 164.930,1.23, 8.795, "Lanthanoid", 8, 10), new Element( 68, "Er", "Erbium", 167.260,1.24, 9.066, "Lanthanoid", 8, 11), new Element( 69, "Tm", "Thulium", 168.930,1.25, 9.321, "Lanthanoid", 8, 12), new Element( 70, "Yb", "Ytterbium", 173.040,1.10, 6.965, "Lanthanoid", 8, 13), new Element( 71, "Lu", "Lutetium", 174.970,1.27, 9.840, "Lanthanoid", 8, 14), // Actinoide (Ac–Lr) → in Zeile 9 (5f-Block) new Element( 89, "Ac", "Actinium", 227.000,1.10,10.070, "Actinoid", 9, 0), new Element( 90, "Th", "Thorium", 232.040,1.30,11.720, "Actinoid", 9, 1), new Element( 91, "Pa", "Protactinium", 231.040,1.50,15.370, "Actinoid", 9, 2), new Element( 92, "U", "Uran", 238.030,1.38,18.950, "Actinoid", 9, 3), new Element( 93, "Np", "Neptunium", 237.000,1.36,20.450, "Actinoid", 9, 4), new Element( 94, "Pu", "Plutonium", 244.000,1.28,19.840, "Actinoid", 9, 5), new Element( 95, "Am", "Americium", 243.000,1.30,13.670, "Actinoid", 9, 6), new Element( 96, "Cm", "Curium", 247.000,1.30,13.510, "Actinoid", 9, 7), new Element( 97, "Bk", "Berkelium", 247.000,1.30,14.790, "Actinoid", 9, 8), new Element( 98, "Cf", "Californium", 251.000,1.30,15.100, "Actinoid", 9, 9), new Element( 99, "Es", "Einsteinium", 252.000,1.30, 8.840, "Actinoid", 9, 10), new Element(100, "Fm", "Fermium", 257.000,0.00, 9.700, "Actinoid", 9, 11), new Element(101, "Md", "Mendelevium", 258.000,0.00,10.300, "Actinoid", 9, 12), new Element(102, "No", "Nobelium", 259.000,0.00, 9.900, "Actinoid", 9, 13), new Element(103, "Lr", "Lawrencium", 262.000,0.00,15.600, "Actinoid", 9, 14) }; } }