使用FileHelpers如何将单个数据传递给变量?

时间:2012-11-29 11:12:03

标签: c# csv filehelpers

提前道歉,因为我对此很陌生,所以想象这是个傻瓜。

无论如何,我希望将单个逗号分隔的数据传递到字段/变量中。我正在使用FileHelpers并让它工作并传回数据,但我的C#技能现在让我失望。

CSV数据是:

汤姆,密码

二,PassTwo

三,PassThree

我的代码是:

[DelimitedRecord(",")]
    public class UserDetailsLogin
    {
        FileHelperEngine engine = new FileHelperEngine(typeof(UserDetails));

        [Test]
        public void TestData()
        {
            string User1;
            string User2;
            string User3;
            string Password1;

            UserDetails[] res = engine.ReadFile("TestData.csv") as UserDetails[];
            foreach (UserDetails user in res)
            {
                User1 = user.UserName;
                Console.WriteLine(User1);
            }
        }
    }

    [DelimitedRecord(",")]
    public class UserDetails
    {
        public string UserName;

        public string Password;
    }

其中,为了检查对控制台的写入:

汤姆

两个

我如何能够将个人数据传递给变量,例如:

User1 =“Tom”

密码1 =“密码”

User2 =“Two”等等。

1 个答案:

答案 0 :(得分:0)

您的问题和代码都不是很明确。

我想您正在询问如何验证您已读入UserDetails数组的值,在这种情况下,您可以使用以下测试:

[TestFixture]
public class UserDetailsTests
{
    [Test]
    public void TestData()
    {
        FileHelperEngine engine = new FileHelperEngine(typeof(UserDetails));
        UserDetails[] res = engine.ReadFile("TestData.csv") as UserDetails[];

        Assert.AreEqual(res[0].UserName, "User 1");
        Assert.AreEqual(res[0].Password, "Password 1");
        Assert.AreEqual(res[1].UserName, "User 2");
        Assert.AreEqual(res[2].UserName, "User 3");
    }
}