0

C# でカンマ区切りの文字列を分割し、2 つの変数に保存する必要があります。C# 関数は次のとおりです。

public int InsertLogDetails(string RunIDStartTime, int Distribution_ID, List<string> additions, List<string> removals, bool status, string ErrorMessage)
{
    int Run_ID=0;
    DateTime StartTime=DateTime.Now;
    //Needs to split RunIDStartTime and needs to save it in Run_ID and StartTime
}

RunIDStartTime は、Run_ID ans StartTime の値を保持します (例: 5、2013 年 1 月 23 日 9:31AM)。

誰でも助けてください。前もって感謝します。

4

3 に答える 3

3

これは有効な回答であり、Split は既に配列を返しているため、.ToArray を実行する必要はありません。

var RunIDStartTime = "5,Jan 23 2013 9:31AM";
var listSplit = RunIDStartTime.Split(','); 
var id = int.Parse(listSplit[0]);
var dateTime = DateTime.Parse(listSplit[1]);

returns id = 5 and date = Jan 23 2013 9:31AM

于 2013-01-24T06:33:17.567 に答える
1

int.TryParseおよびDateTime.TryParseExactDateFormat を使用して、文字列を解析します。を使用して分割するにはstring.Split、次のようにします。

string RunIDStartTime = "5,Jan 23 2013 9:31AM";

int Run_ID = 0;
DateTime StartTime = DateTime.MinValue;
string[] splittedArray = RunIDStartTime.Split(',');
if (splittedArray.Length >= 2)
{
    if (int.TryParse(splittedArray[0], out Run_ID))
    {
        //valid ID
    }
    else
    {
        //Invalid ID
    }
    if(DateTime.TryParseExact(splittedArray[1],"MMM d yyyy h:mmtt",CultureInfo.InvariantCulture,DateTimeStyles.None, out StartTime))
    {
        //Valid date
    }
    else
    {
        //invalid date
    }
}

出力の場合:

Console.WriteLine("ID : {0} Date: {1}", Run_ID, StartTime.ToString());

出力:

ID : 5 Date: 23/01/2013 9:31:00 AM
于 2013-01-24T06:33:19.280 に答える
0
public int InsertLogDetails(string RunIDStartTime, int Distribution_ID, List<string> additions, List<string> removals, bool status, string ErrorMessage)
{

    var tokens = RunIDStartTime.split(',');
    int Run_ID= int.Parse(tokens[0]);
    DateTime StartTime = DateTime.Parse(tokens[1],"MMM d yyyy h:mmtt", CultureInfo.InvariantCulture, DateTimeStyles.None);        
}
于 2013-01-24T06:41:50.233 に答える