Как сделать метод, который делает строку нулевой - PullRequest
0 голосов
/ 03 декабря 2018

Я хочу сделать method, который дает string (вход в метод) значение null.Это для моей базы данных, так что нет «открытых» значений.

Это должно быть примерно так:

public string NulValue (string value)
        {
            value = null; //the string-value needs to get the value null here

            return value; //returning the value

        }

Но это не дает строке значение null.Я думаю, что решение очень простое, но я не заставляю его работать.Я использую WPF.

Вот где я хочу использовать метод:

string checkcomment = TextBxComment.Text; 

            if (checkcomment == "") 
            {
                NulValue(checkcomment); 
            }

1 Ответ

0 голосов
/ 03 декабря 2018

Вы не можете сделать строку ничего.В то время как строки являются ссылочными типами, они предназначены для работы в качестве типа значений для многих целей.Не пытайтесь изучать семантику класса со строкой.Однако вы можете установить ссылку на ноль, которая работает аналогично установке типа значения для чего-либо в функции.

По умолчанию функции используют «вызов по значению», что означает копию переменной типа «Примитив» или «Ссылка».сделан.И тогда вы работаете с этой копией.Чтобы заставить функцию использовать вызов по ссылке (в которой фактическая переменная используется повторно и может быть изменена), для этого используются ключевые слова ref и out.

Однако вся операция не имеет большого смысла,Как показывает ваш пример кода, вы хотите установить для ссылочной переменной значение null.В таком случае

myValue = null;

всегда будет легче писать и читать, чем

NullValue(ref myValue);

Но, конечно, может быть какая-то логика, которую вы нам не показали.

Свойства не могут быть использованы в качестве значений ref.Поэтому, если вы используете свойства, вам нужно написать немного больше кода .:

var temp = Instance.MyValue;
NullValue(ref temp);
Instance.MyValue = temp;

С базой данных это может быть связано с отображением .NET Type / Value Null в базы данных Type / value Null.Это могут быть разные вещи.

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