Вот замечательный образец, который наиболее точно соответствовал проверке, которую мне нужно было достичь. Я не являюсь оригинальным автором, но думаю, что это стоит того, что я считаю эту проблему очень сложной и без кратких или широко полезных ответов.
Следующее регулярное выражение будет использовать широко используемые числа и характер комбинаций в различных форматах телефонных номеров:
/^\s*(?:\+?(\d{1,3}))?([-. (]*(\d{3})[-. )]*)?((\d{3})[-. ]*(\d{2,4})(?:[-.x ]*(\d+))?)\s*$/gm
Положительный: +42 555.123.4567 + 1- (800) -123-4567 +7 555 1234567 +7 (926) 1234567 (926) 1234567 +79261234567 926 1234567 9261234567 1234567 123-4567 123-89-01 495 1234567 469 123 45 67 89261234567 8 (926) 1234567 926.123.4567 415-555-1234 650-555-2345 (416) 555-3456 202 555 4567 4035555678 1 416 555 9292
Отрицательный: 926 3 4 8 800 600-APPLE
Исходный источник: http://www.regexr.com / 38pvb
Если вы создали другую функцию, вы можете передать ее в качестве параметра функции, например:
int OtherFunction(string a)
{
// your code here
}
, а затем просто вызвать свою функцию, например:
OtherFunction(a);
Если другой метод не является чем-то, что вы создали, например, методом события щелчка или чего-то еще, то вы должны сделать вашу переменную глобальной, которая была бы допустимой в обеих областях:
public string a = ""; // in your main class
и затем:
void function1()
{
//some code
a = "some value";
//some code
}
int OtherFunction()
{
// you have access to a in here to
textBox1.Text = a;
}
РЕДАКТИРОВАТЬ: (демонстрация объявления переменной в вашем собственном примере)
string a = ""; //declare it here before (outside) method not inside it
private void datagrid_customer_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
for (int i = 0; i < datagrid_customer.Items.Count; i++)
{
if (Convert.ToString((datagrid_customer.SelectedCells[3].Column.GetCellContent(datagrid_customer.SelectedItem) as TextBlock).Text) == Convert.ToString((datagrid_customer.SelectedCells[1].Column.GetCellContent(datagrid_customer.Items[i]) as TextBlock).Text))
{
...
a = (b + c + d).ToString();
}
}