2016-05-21 4 views
0

Ich würde es gerne haben, so dass eine Liste von Namen geteilt wird, und dann wird der Vor- und Nachname aufgeteilt, so dass das Vor- und Nachname-Paar jeder Person bearbeitet wird. Also, ich habe eine Liste von Namen getrennt durch ';' das wird in ein Array aufgeteilt In einer anderen Klasse, bekomme ich dieses Array, und mit Foreach, teile ich das Zeichen im Array durch ',', geben Sie mir den Vor- und Nachnamen.C# Wie kann ich auf eine Methode zugreifen, die eine foreach-Schleife in meinem Haupt enthält?

Ich frage mich, wie ich diese letzte Operation in den Hauptbereich nennen kann, so dass meine Vor- und Nachnamen schließlich alle ihre eigenen Operationen ausführen können.

Dank

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      pairInName funOperations = new pairInName(); 
      //I'd like to have the method from 'pairInName' to have the split list ',' (from the split list ';') 
      //How can I run it so that it carries out the operation in my main()? 
      //eventually, I'd like it so that it carries out a method in my main for each pair of first and last name, for each name in the list 

      Console.WriteLine(); 
      Console.ReadLine(); 
     } 
    } 

    public class namesList 
    { 
     public static string listOfNames = (
      "Tyrion,Lannister;" + 
      "Euron,GreyJoy;" + 
      "Davos,Seaworth;" + 
      "Lord,Varys;" + 
      "Samwell,Tarly;" 
      ); 

     public static string[] splitListOfNames = listOfNames.Split(';'); 
    } 

    public class pairInName 
    { 
     static void myOperations() 
     { 
      foreach (string champName in namesList.splitListOfNames) 
      { 
       string[] splitChampName = champName.Split(','); 
      } 
     } 
    } 
} 
+0

@AbdellahOUMGHAR aber es ist nicht öffentlich. –

+0

@ M.kazemAkhgary Sie haben Recht, Danke für die Bemerkung :) –

Antwort

1

Das Verfahren markiert als statisch, wenn Sie auch die Zugriffsmodifikator von private ändern wird (Standard, wenn kein Modifikator Füllung) zu public, dann können Sie diese direkt zugreifen.

pairInName.myOperations(); 

Bemerkung: Ihre vollständige Struktur ist nicht sehr OOP, sollten Sie das Design mit Klassen und Methoden, die näher an der eigentlichen Natur des Datenkontext betrachten Refactoring.

erstellen Character Unternehmen wird einen guten Start

public class Character 
{ 
    public string FirstName { get; private set; } 
    public string LastName { get; private set; } 

    public Character(string firstName, string lastName) 
    { 
     FirstName = firstName; 
     LastName = lastName; 
    } 
} 
+0

Sie kann nicht, weil es nicht öffentlich ... (übrigens nicht der Downvoter) –

+0

Danke für die Beobachtung, behoben. –

0

Mark Ihre myOperations() als öffentlich sein, dann können Sie "pairInName.myOperations();" von der Hauptmethode.

0
public class pairInName 
{ 
    string[] splitChampName; 
    public static void myOperations() 
    { 
     foreach (string champName in namesList.splitListOfNames) 
     { 
      splitChampName = champName.Split(','); 
     } 
    } 

    public string[] getSplitResult 
    { 
     get { return splitChampName; } 
    } 
} 
Verwandte Themen