これはそれほど難しいことではなく、日付とユーザー名に基づいたカウントのみが必要なので、形式を完全に解析しようとするより複雑なソリューションの多くを避けたいと思います。ここでは、単純な正規表現ベースのソリューションで十分です。
var loginInfo =
    // Read the lines in the file, one by one
    File.ReadLines(args[0])
        // Get a match with appropriate groups for the individual parts
        .Select(l =>
            Regex.Match(l,
                @"Username:(?<username>[^|]+)\|\|
                  UserId:(?<userid>[^|]+)\|\|
                  Userlogintime:(?<date>\S+)", RegexOptions.IgnorePatternWhitespace))
        // Create a new object with the user name and date
        .Select(m => new {
            Username = m.Groups["username"].Value,
            Date = DateTime.Parse(m.Groups["date"].Value, CultureInfo.GetCultureInfo("en-us"))
        })
        // Group by itself, that is, collapse all identical objects into the same group
        .GroupBy(i => i)
        // Create a new object with user name, date and count
        .Select(g => new {
            Username = g.Key.Username,
            Date = g.Key.Date,
            Count = g.Count()
        });
foreach (var info in loginInfo) {
    Console.WriteLine("{0} {1} {2}", info.Username, info.Date, info.Count);
}
これにより、わずかに拡張されたデータセットで次の出力が生成されます。
Rajini 2013-10-19 00:00:00 2
Test 2013-10-19 00:00:00 1
Rajini 2013-10-20 00:00:00 1
Test 2013-10-20 00:00:00 3
Rajini 2013-10-21 00:00:00 1