AvalonStudio.Debugging.MemoryBytes.FromDataString C# (CSharp) Method

FromDataString() public static method

public static FromDataString ( string data ) : List
data string
return List
		public static List<MemoryBytes> FromDataString(string data)
		{
			var result = new List<MemoryBytes>();

			var responsePair = data.Substring(6).ToNameValuePair();

			if (responsePair.Name == "memory")
			{
				var memoryBlocks = responsePair.Value.ToArray();

				foreach (var memoryBlock in memoryBlocks)
				{
					var block = new MemoryBytes();

					var pairs = memoryBlocks[0].RemoveBraces().ToNameValuePairs();

					foreach (var pair in pairs)
					{
						switch (pair.Name)
						{
							case "begin":
								block.Address = Convert.ToUInt64(pair.Value, 16);
								break;

							case "offset":
								block.Offset = Convert.ToUInt64(pair.Value, 16);
								break;

							case "end":
								block.End = Convert.ToUInt64(pair.Value, 16);
								break;

							case "contents":
								block.Data = StringToByteArray(pair.Value);
								block.Values = pair.Value;
								break;
						}
					}

					result.Add(block);
				}
			}

			return result;
		}
	}