Когда нужно использовать var?
typeof(int) != typeof(Random)
Как бы так
В вашем случае, как указали выше, происходит ошибка приведения типов, так как тип int действительно не равен типу Random.
Если вы хотели сохранить в переменной rnd псевдослучайное число, то вам нужно предварительно создать и инициализировать экземпляр класса Random, а затем уже присвоить возвращаемое значение его метода Next() переменной:
Random rnd = new Random();
int rndNum = rnd.Next();
Переменные, объявленные через "var" являются неявно типизированными, и их тип определит компилятор, то есть, в вашем случае
var rnd = new Random(); 
станет экземпляром класса Random на этапе компиляции. В очень простом пояснении: используйте var, когда заведомо не знаете, какого типа будет ваша переменная. Но имейте ввиду, что это может быть черевато.
https://docs.microsoft.com/ru-ru/dotnet/csharp/lan...