Horje
parsing object from text file c# Code Example
parsing object from text file c#
class Program
{
    static void Main(string[] args)
    {
        var servers = new Dictionary<string, Server>(); // parse results are here
        using (var fs = File.OpenRead(@"G:\tmp\so\parse.txt")) {
            using (var reader = new StreamReader(fs)) {
                string line;
                Server current = null;                    
                while ((line = reader.ReadLine()) != null) {
                    // line break - end of server definition
                    if (String.IsNullOrWhiteSpace(line)) {
                        if (current != null) {
                            servers.Add(current.Name, current);
                            current = null;
                        }
                        continue;
                    }
                    var cidx = line.IndexOf(':'); // split by colon
                    if (cidx >= 0) {
                        var name = line.Substring(0, cidx).Trim();
                        var value = line.Substring(cidx + 1).Trim();
                        // ugly switch
                        switch (name) {
                            case "Server":
                                current = new Server() {Name = value};
                                break;
                            case "ERROR 0":
                                if (current == null)
                                    throw new Exception("Invalid line"); // more details here, just example
                                current.Error0 = int.Parse(value);
                                break;
                            case "ERROR 3":
                                if (current == null)
                                    throw new Exception("Invalid line"); // more details here, just example
                                current.Error3 = int.Parse(value);
                                break;
                            case "ERROR 4":
                                if (current == null)
                                    throw new Exception("Invalid line"); // more details here, just example
                                current.Error4 = int.Parse(value);
                                break;
                            case "ERROR 8":
                                if (current == null)
                                    throw new Exception("Invalid line"); // more details here, just example
                                current.Error8 = int.Parse(value);
                                break;
                            case "ERROR 9":
                                if (current == null)
                                    throw new Exception("Invalid line"); // more details here, just example
                                current.Error9 = int.Parse(value);
                                break;
                        }
                    }
                    else {
                        var tdix = line.IndexOf('|');
                        if (tdix >= 0) {
                            var name = line.Substring(0, tdix).Trim();
                            var value = line.Substring(tdix + 1).Trim();
                            if (servers.ContainsKey(name)) {
                                servers[name].CronJobErrors.Add(value);
                            }
                        }
                    }
                }
            }
        }            
    }        
}




Csharp

Related
class merging Code Example class merging Code Example
quine in c# Code Example quine in c# Code Example
C# parallel for loop specify cores Code Example C# parallel for loop specify cores Code Example
finding holydays asp.net Code Example finding holydays asp.net Code Example
asp.net mvc select from many to many relationship Code Example asp.net mvc select from many to many relationship Code Example

Type:
Code Example
Category:
Coding
Sub Category:
Code Example
Uploaded by:
Admin
Views:
10