ResourceSet rs = Resources.Loading.ResourceManager.GetResourceSet(CultureInfo.CurrentCulture, true, true);
пока у меня есть эта строка, которая получает все сообщения о загрузке,
моя проблема в том, что ResourceSet является IEnumerable.Я не могу понять, каким будет лучший способ вернуть случайную строку в этом перечислимом.
В идеале я бы сделал что-то вроде rs[Utility.Random(rs.Length)]
, но я не могу понятькак привести ResourceSet в список (например), чтобы мне не пришлось прибегать к мерзости, например, к ручному циклу с чем-то ужасным, например:
public static string RandomLoadingMessage()
{
ResourceSet rs = Resources.Loading.ResourceManager.GetResourceSet(CultureInfo.CurrentCulture, true, true);
int count = 0;
foreach(object res in rs)
count++;
int position = Utility.Random(count);
count = 0;
foreach(DictionaryEntry res in rs)
{
if(count++ == position)
return res.Value.ToString();
}
return string.Empty;
}