0

Webフォームを介してファイルをアップロードし、その内容をリストに解析するC.MN、C.LN、C.Valを解析するときにnullまたは空の値を許可するにはどうすればよいですか?これら3つは次のように宣言されたパブリックデータ型です

Namespace datatypes

       Public class Uploads
  {

        Public long Mn  {get; set;}
        Public int LN     { get;set    }
         Public int Val    {Get;Set}
    }

  List<Uploads> CDU = new List<Uploads>();
                string[] fields;

                string data = read.ReadLine();
                while ((data = read.ReadLine()) != null)
                {
                    if (data.Length != 0)
                    {
                        Uploads C = new Uploads();
                        fields = data.Split(',');
                        C.LN = Convert.ToInt32(fields[0]);
                        C.MN = Convert.ToInt64(fields[1]);                           
                        C.Val = Convert.ToInt32(fields[2]);
                        CDU.Add(C);
4

2 に答える 2

2

簡単に言えば、null許容値型を使用する必要があります。

public class Uploads
{
    public long? Mn { get; set; }
    public int? LN { get; set; }
    public int? Val { get; set; }
}

もちろん、おそらく文字列が空かどうかに基づいて、値を与えるかnullのままにするかを決める必要があります。

例えば:

C.LN = fields[0] == "" ? (int?) null : Convert.ToInt32(fields[0]);

あるいは単に:

if (fields[0] != "")
{
    C.LN = Convert.ToInt32(fields[0]);
}

余談ですが、これらの名前は完全に保守できません。6か月以内に、それらが何を意味するのかわかりますか?

于 2012-11-27T14:35:56.957 に答える
1

次のようなnull許容型を使用します。

public class Uploads
{
    public long? Mn { get; set; }
    public int? LN { get; set }
    public int? Val { get; set }
}

文字列をnull許容値として解析する方法については、ここを参照してください。

于 2012-11-27T14:36:43.697 に答える