有没有可能在c# 4.5中存储临时整数值?
本文关键字:存储 整数 有可能 | 更新日期: 2023-09-27 18:04:14
我正在创建WPF应用程序。我需要在一个方法中的某个变量中存储一个临时值,我需要在另一个方法中获取该值。是否有任何可能的方法来存储临时值在一个变量使用WPF?
从评论:
private void Button_Click(object sender, RoutedEventArgs e)
{
count++;
for (int i = 1; i <= count; i++)
{
var tb = new TextBox();
mycanvas.Children.Add(tb);
tb.Name = "txtbox"+i;
tb.Width = 100;
Canvas.SetLeft(tb,50);
Canvas.SetTop(tb, i*20);
}
}
我想你在这里有一点误解…WPF (Windows Presentation Foundation)是一项取代WinForms的技术…
存储临时整数将完全像在WinForms, Console应用程序或dll中一样完成。
您可以将其保存为其他方法可以看到的变量(取决于它在哪里),或者将其作为参数发送。
如果你在谈论MVVM,事情会变得更有趣,但你仍然可以存储和发送临时变量…
话虽如此,您也可以在应用程序设置中隐藏变量,并根据需要使用它们(或可以设置它们的默认值)。这里有更多关于这个选项的信息:MSDN:应用程序设置概述.
如果你想在每个i
上做一些事情,Jossef Harush是正确的,否则(或额外)你也可以做下面的事情:
private int global_variable_name;
private void Button_Click(object sender, RoutedEventArgs e)
{
count++;
for (int i = 1; i <= count; i++)
{
var tb = new TextBox();
mycanvas.Children.Add(tb);
tb.Name = "txtbox"+i;
tb.Width = 100;
Canvas.SetLeft(tb,50);
Canvas.SetTop(tb, i*20);
// You can set global_variable_name here, but it'll be
// silly to set it to `i`, since it's changing
global_variable_name = 8;
}
}
private void SomeOtherMethod() {
// you can use global_variable_name here
var sum = global_variable_name + 3;
}
欢迎来到StackOverflow,我同意@Noctis的回答。
另外(看了你的评论后),
如果你想把当前循环的索引传递给一个自定义方法,你应该这样做:
private void Button_Click(object sender, RoutedEventArgs e)
{
int count = 10;
count++;
for (int i = 1; i <= count; i++)
{
var tb = new TextBox();
mycanvas.Children.Add(tb);
tb.Name = "txtbox" + i;
tb.Width = 100;
Canvas.SetLeft(tb, 50);
Canvas.SetTop(tb, i * 20);
// My custom method
MyMethod(i);
}
}
private void MyMethod(int i)
{
// Do something with i
Console.WriteLine(i);
}