То, что вы получаете из foreach
, это KeyValuePair<string, DynamoDBEntry>
, который имеет значение по умолчанию ToString()
.Чтобы получить строковое представление того, что вы на самом деле хотите, вам нужно использовать встроенные операторы приведения, чтобы вернуться к фактическому искомому значению.
В частности, для DynamoDBBool
это может выглядеть так:
var doc = new Document();
doc.Add("aaa", new DynamoDBBool(true));
foreach(var item in doc)
{
var s = item.Value is DynamoDBBool ? item.Value.AsBoolean().ToString() : item.Value.ToString();
Console.WriteLine($"{item.Key} : {s}");
}
Чтобы упростить охват всех опций, мы можем использовать тот факт, что doc
- это просто JSON-документ пар ключ-значение.Это переводит документ в JSON, а затем печатает правильные строковые представления каждой записи.
var doc = new Document();
doc.Add("aaa", new DynamoDBBool(true));
var dict = JsonConvert.DeserializeObject<IDictionary<string, string>>(doc.ToJson());
foreach(var item in dict)
{
Console.WriteLine(item.Value);
}