В словаре есть дублирующиеся ключиC#

Место общения программистов C#
Ответить
Anonymous
 В словаре есть дублирующиеся ключи

Сообщение Anonymous »

Может ли словарь иметь повторяющиеся ключи? Или я что-то еще упускаю?

Вот код
Инициализация словаря происходит на уровне класса.
StoredPoints.Keys
Count = 4

Код: Выделить всё

[0]: "SNxxx_B"
[1]: "SNxxx60"
[2]: "SNxxx58"
[3]: "SNxxx_B"
Мы получаем сообщения от Кафаки

Код: Выделить всё

await _kafkaService.ConsumeMessageWithWait(conf, _hostingServiceOption.Topics, source.Token, async (kafkaMessage) =>
{
try
{
if (!ConnectionService.IsCalculationServiceConnected())
{
// cancel if no service in listening
cts.Cancel();
return;
}
NumberOfPointsReceived++;
Stopwatch.Restart();
var status = await _dataSenderService.SendMessage(kafkaMessage.Topic, kafkaMessage.Message.Key, kafkaMessage.Message.Value, kafkaMessage.Message.Timestamp);
Stopwatch.Stop();
TimeElapsedForProcessing += Stopwatch.ElapsedMilliseconds;
}
catch (Exception ex)
{
_logger.Fatal("{Exception}", ex);
}
}, true, true);

public class DataSenderService
{
public record KafkaMessage(string topic, string key, string message, Confluent.Kafka.Timestamp timestamp);
public static Dictionary StoredPoints = new Dictionary();

public async Task SendMessage(string topic, string key, string message, Confluent.Kafka.Timestamp timestamp)
{
if (!StoredPoints.ContainsKey(key))
{
StoredPoints.Add(key, new List());
}
StoredPoints[key].Add(kafkaMessage);
return MessageStatus.Sent;
}
}
Я сравнил ключи, оба одинаковые. Это видно в ближайшем окне, а ключи также видны на снимке экрана.
Изображение


Подробнее здесь: https://stackoverflow.com/questions/787 ... icate-keys
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»