Как я могу установить переменную, чтобы быть хотя бы минимальным значением с C# - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть этот код:

Current.Resources["CardSetIconWidth"]   = (width-30)/260 * 160;

Я хотел бы убедиться, что Current.Resources["CardSetIconWidth"] всегда как минимум минимум 160.

Есть ли простой способ, который я могу сделать это?

Ответы [ 3 ]

3 голосов
/ 07 апреля 2020

Попробуйте это:

Current.Resources["CardSetIconWidth"] = Math.Max((width - 30) / 260 * 160, 160);
0 голосов
/ 07 апреля 2020

Другой вариант - использовать ответ @rfmodulator в индексатор класса:

public class SafeValues
{
    private readonly IDictionary<string, int> _dict = new Dictionary<string, int>();

    public int this[string key]
    {
        get { return _dict[key]; } // you can also choose to use Math.Min 
                                   // in the getter to keep the original values in the underlying dictionary
                                   // for debug purposes

        set { _dict[key] = Math.Max(value, 160); }
    }
}

Таким образом, вы можете использовать его как

var Resources = new SafeValues(); // you can easily set a parameter for the min value in the constructor if you want
Resources["CardSetIconWidth"] = (width-30)/260 * 160;
0 голосов
/ 07 апреля 2020

После выполнения задания вы можете выполнить

if (Current.Resources["CardSetIconWidth"]<160) Current.Resources["CardSetIconWidth"]=160;

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...