2016-06-02 18 views
0

i Konsolenanwendung haben, dass i-Klasse erstellen dann erstelle ich einige Funktionen und das nenne ich Funktion in ProgrammklasseSatz in C# erwartet bekommen

ist

public class student 
    { 
     public string Lastname { get; set; } 
     public List<int> scores { get; set; } 
    } 
public void example2 
    { 
     List<student> std = new List<student> 
     { 
      new student {Lastname="ALI",scores=new List<int>{97, 72, 81, 60}}, 
      new student{Lastname="abc",scores=new List<int>{75, 84, 91, 39}}, 
      new student {Lastname="shan",scores=new List<int>{12,34,6,23,434}}, 
      new student{Lastname="ahmad",scores=new List<int>{34,23,45,34}} 

     }; 
     var sq = from stud in std 
       from scor in stud.scores 
       where scor > 90 
       select new { last = stud.Lastname, scor }; 

     Console.WriteLine("Scorequery"); 
     foreach (var stdquery in sq) 
     { 
      Console.WriteLine("{0}Score:{1}", stdquery.last, stdquery.scor); 
     } 
     Console.WriteLine("Exit"); 
     Console.ReadLine(); 
    } 

ein weiteres Beispiel

public void example2 
     { 
     int[] numbers = { 0, 1, 2, 3, 4, 5, 6 }; 
     var q1 = from q2 in numbers 
       where q2 < 5 
       select q2; 
     foreach (int i in q1) 
     { 
      Console.WriteLine(i + ""); 

     } 
     Console.ReadLine(); 

      } 

jetzt Fehler auftreten auf int [] ist Ein erhalten oder Set-Accessor erwartet
wo a s i schaffen gesetzt bekommen öffentliche gleiche mit einer anderen Funktion und Fehler auftreten, auf dieser Linie

List<student> std = new List<student> 

und eine andere Funktion auf dieser Linie

char[] uppercase = { 'A', 'B', 'C' }; 
+0

Ich weiß nicht, ob dies nur ein Tippfehler ist, wenn Sie den Code dort eingeben, aber keine der Beispiel-2-Methode Deklarationen haben Klammern. Sie sollten wie folgt aussehen: public void example2() not public void example2 – Pheonyx

Antwort

3

Sie verfehlten die Klammern nach dem example2 Funktionsdefinition Namen. Es sollte public void example2() und nicht public void example2 sein.

Wenn Sie eine Methode definieren, müssen Sie nach dem Methodennamen Klammern setzen. Wenn Sie eine Entität mit geschweiften Klammern ohne Klammern definieren, denkt der Compiler, dass Sie eine Eigenschaft definieren, wie Sie es in der Klasse student tun.

Auch wenn Sie keine Parameter für die Methode haben, muss die Klammern enthalten.

+0

ops .. dank ... –

2

In C# Methoden Parameterlisten in Klammern, dh

public void example() 

statt

public void example 

Ohne die Klammern haben muss, denkt der Compiler Sie eine Eigenschaft kreierten und erwartet daher einen Getter oder Setter.