C#如何在main中访问包含foreach循环的方法?

时间:2016-05-21 22:22:19

标签: c# methods foreach

我想拥有它,以便分割名称列表,然后分割名字和姓氏,以便操作每个人的名字和姓氏对。 所以,我有一个由';'分隔的名单被分裂成一个数组 在另一个类中,我得到了这个数组,并使用foreach,我将数组中的char分成',',给我姓名。

我想知道如何将最后一个操作调用到main中,这样我的名字和姓氏最终都可以执行自己的操作。

由于

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(',');
            }
        }
    }
}

3 个答案:

答案 0 :(得分:1)

标记为静态的方法,如果您还要将访问修饰符从private(默认情况下未填充任何修饰符)更改为public,则可以直接访问它。

pairInName.myOperations();

备注:您的完整结构不是非常OOP,您应该考虑使用更接近数据上下文实际性质的类和方法来重构设计。

创建Character实体将是一个好的开始

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;
    }
}

答案 1 :(得分:0)

将myOperations()标记为公开,然后您可以使用“pairInName.myOperations();”来自主要方法。

答案 2 :(得分: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; }
    }
}