Ich versuche, alle Elemente zu finden und zu sammeln, die diese Anforderungen erfüllen:Wird diese LINQ-Anweisung korrekt verwendet?
var checkTest = from d in document.Descendants("Prerequisite")
where d.Value != "none"
select d.Parent.Element("Name").Value;
durch diese foreach-Schleife:
foreach (var item in prerequisite)
{
if (item == checkTest.ToString())
{
MessageBox.Show("this module has a prereq" + item);
}
}
aber es wird nicht aus irgendeinem Grund, etwas zu tun, jemand Warum? Ich denke, das Problem ist in der var checkTest
(das ist, was in der foreach Voraussetzung bedeutet :)
var prerequisite = from d in document.Descendants("Name")
where d.Value == (String)listBox2.SelectedItem
select d.Parent.Element("Prerequisite").Value;
Hier ist der XML ist:
<?xml version="1.0" encoding="utf-8" ?>
<SoftwareEngineering>
<Module>
<Name>Algorithms and Data Structures</Name>
<Code>3SFE504</Code>
<Capacity>5</Capacity>
<Semester>1</Semester>
<Prerequisite>none</Prerequisite>
</Module>
<Module>
<Name>3D Graphics I</Name>
<Code>3SFE508</Code>
<Capacity>5</Capacity>
<Semester>1</Semester>
<Prerequisite>none</Prerequisite>
</Module>
<Module>
<Name>Event-Driven Programming</Name>
<Code>3SFE513</Code>
<Capacity>10</Capacity>
<Semester>1</Semester>
<Prerequisite>none</Prerequisite>
</Module>
<Module>
<Name>Object Oriented Design</Name>
<Code>3SFE514</Code>
<Capacity>10</Capacity>
<Semester>1</Semester>
<Prerequisite>none</Prerequisite>
</Module>
<Module>
<Name>Requirements Engineering</Name>
<Code>3SFE516</Code>
<Capacity>10</Capacity>
<Semester>1</Semester>
<Prerequisite>none</Prerequisite>
</Module>
<Module>
<Name>Introduction to AI</Name>
<Code>3SFE599</Code>
<Capacity>5</Capacity>
<Semester>1</Semester>
<Prerequisite>none</Prerequisite>
</Module>
<Module>
<Name>Java Mobile Application Development</Name>
<Code>3SFE540</Code>
<Capacity>5</Capacity>
<Semester>1</Semester>
<Prerequisite>3SFE514(corequisite)</Prerequisite>
</Module>
<Module>
<Name>C# .NET Programming</Name>
<Code>3SFE541</Code>
<Capacity>5</Capacity>
<Semester>1</Semester>
<Prerequisite>3SFE514(corequisite)</Prerequisite>
</Module>
<Module>
<Name>Software Engineering Group Project</Name>
<Code>3SFE515</Code>
<Capacity>5</Capacity>
<Semester>2</Semester>
<Prerequisite>3SFE514(corequisite)</Prerequisite>
</Module>
<Module>
<Name>Software Engineering</Name>
<Code>3SFE519</Code>
<Capacity>10</Capacity>
<Semester>2</Semester>
<Prerequisite>none</Prerequisite>
</Module>
<Module>
<Name>Mobile User Interface Development</Name>
<Code>3SFE542</Code>
<Capacity>5</Capacity>
<Semester>2</Semester>
<Prerequisite>3SFE540</Prerequisite>
</Module>
<Module>
<Name>Interactive Multimedia</Name>
<Code>3MTS954</Code>
<Capacity>5</Capacity>
<Semester>2</Semester>
<Prerequisite>none</Prerequisite>
</Module>
<Module>
<Name>Concurrent Programming</Name>
<Code>3SFE555</Code>
<Capacity>5</Capacity>
<Semester>2</Semester>
<Prerequisite>none</Prerequisite>
</Module>
<Module>
<Name>Mobile Gaming</Name>
<Code>3SFE557</Code>
<Capacity>10</Capacity>
<Semester>2</Semester>
<Prerequisite>none</Prerequisite>
</Module>
<Module>
<Name>Intelligent Systems</Name>
<Code>3SFE500</Code>
<Capacity>10</Capacity>
<Semester>2</Semester>
<Prerequisite>3SFE599</Prerequisite>
</Module>
<Module>
<Name>3D Graphics II</Name>
<Code>3SFE501</Code>
<Capacity>10</Capacity>
<Semester>2</Semester>
<Prerequisite>3SFE508</Prerequisite>
</Module>
</SoftwareEngineering>
Hat es mit meiner Auswahl zu tun ein Obergeschwister, wenn er nach seinem niedrigsten Geschwister gesucht hat? d. h., ich suchte zuerst nach Prerequisite und dann nach Name. Wert (in checkTest
)
Selbst wenn ich versuche, die if-Anweisung als! = zu setzen, wird jede Voraussetzung gedruckt, auch wenn sie keine ist!
Hi wieder psubsee, habe ich versucht, aber immer noch nichts, lustige Sache ist, dass nichts auftaucht:/ – a7omiton
@ AZ1 haben Sie angeschaut die Inhalte von 'Voraussetzung' und' CheckTest' ohne die Abfrage zu sehen, was in jedem ist? Sind Sie sicher, dass Sie eine Übereinstimmung haben? – psubsee2003
@ AZ1 was versuchst du zu erreichen? Es sieht so aus, als ob Sie versuchen, eine bestimmte Voraussetzung aus Ihrem XML für einen Kurs zu erhalten, der mit dem Namen übereinstimmt, den der Benutzer in der Liste ausgewählt hat? Wenn Sie auf einige Ihrer Fragen von gestern zurückblicken, sieht es so aus, als wäre dies eine Folge Ihrer vorherigen Fragen - haben Sie noch eine Modul- und eine Modul-Sammlung? Wenn ja, warum benutzt du es nicht? – psubsee2003