12. juni 2010 - 23:25Der er
21 kommentarer og 1 løsning
if sætning, med ALLE i liste som betingelse
Hej jeg har en liste, med klassen barn. Der er en værdi som er bool. Når alle "børn" er blvet til true. Skal nedestående vindue først åbne. Men hvordan laver man if sætningen så det ikke kun er ved et barn, men ved ALLE at den åbner? tak.
foreach (barn et_barn1 in Kids) {
if (!(et_barn1.Propertyinfo == false)) {
_1_child_resultat f1 = new _1_child_resultat(amount, antal_kids, Kids);
Du laver et flag, som du sætter lig med sand. Du laver en løkke, som tildeler værdien for barnet til din flagvariabel. Hvis værdien er falsk skal løkken stoppes. Efter løkken spørger du med en if om din flag-variabel er sand, så er alle børn sande. Er din flag-variabel falsk har mindst et barn den falske værdi.
var flag=true; for (var i=0; i<kids.length; i++) { flag=kids[i].result; if (!flag) { i=kids.length; } } if (flag) f1.Show();
// Hvis der findes et barn med Propertyinfo == false, return den værdi, inden den bliver sat til "open" variablen bliver den inverteret, så open bliver true hvis den ingen fandt. bool open = !Kids.Exists(a => a.Propertyinfo == false);
if(open) // ja, er den sandt, så lav nogle magiske ting { // open window }
Tak, jeg kan bruge din metode, så hvis alle er true så åbner den en messagebox, men den vil ikke åbne et vindue?
Her er eksempelt, hvis ikke alle true, åbner den f1, og hvis de er true åbner den f2. Men af en eller anden grund får jeg "Error 1 Only assignment, call, increment, decrement, and new object expressions can be used as a statement"
foreach (barn et_barn1 in Kids) {
bool open = !Kids.Exists(a => a.Propertyinfo == false); { if (open) { _1_child_resultat f2 = new _1_child_resultat(amount, antal_kids, Kids); f2.Show; this.Close(); }
forskud f1 = new forskud(amount, antal_kids, Kids); f1.Show(); this.Close();
har kun p.t. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;
har kun p.t. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;
hej igen, nogle som ved hvor den ikke tjekker begge lister?
if ((Kids.TrueForAll(x => x.PropertyTestamente_behandling)) & ( _liste_testamentepersoner.TrueForAll(y => y.PropertyTestamente_behandling)
{ ; }
Når jeg kører programmet går den KUN hen til Kids.TrueForAll(x => x.PropertyTestamente_behandling) og springer ( _liste_testamentepersoner.TrueForAll(y => y.PropertyTestamente_behandling) over, selv om jeg har lavet &
Synes det virker meget ulogisk.. nogle som har et bud på hvorfor? når jeg kører testen er alle i Kids true, men ikke i min liste med _liste_testamentepersoner.. og når jeg kører programmet, tjekker den slet ikke betingelsen i _liste_testamentepersoner
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.