Tag: 范围

在类实例之间共享字典内容

假设我有一个类似的字典结构 var stocks = new Dictionary(); stocks.Add(“APPL”, 1234.56); 在保留添加和删除字典的能力的同时,是否有一种方法可以在包含类的实例之间“共享”内容? (顺便说一句,我被迫从一个不能是静态的包含类inheritance。) 或者是否有其他方式来表示允许此类共享的数据?

WPF用户控件和名称范围

我一直在玩WPF和MVVM,并注意到一件奇怪的事情。 在自定义用户控件上使用{Binding ElementName=…} ,用户控件中的根元素的名称似乎在使用该控件的窗口中可见。 说,这是一个示例用户控件: 看起来非常合法。 现在,依赖属性DeleteEmployee在代码隐藏中定义,如下所示: public partial class EmployeeControl : UserControl { public static DependencyProperty DeleteEmployeeProperty = DependencyProperty.Register(“DeleteEmployee”, typeof(ICommand), typeof(EmployeeControl)); public EmployeeControl() { InitializeComponent(); } public ICommand DeleteEmployee { get { return (ICommand)GetValue(DeleteEmployeeProperty); } set { SetValue(DeleteEmployeeProperty, value); } } } 这里没什么神秘的。 然后,使用控件的窗口如下所示: 再一次,没有什么花哨……除了窗口和用户控件都具有相同名称的事实! 但我希望root在整个窗口XAML文件中意味着相同的事情,因此请参考窗口,而不是用户控件。 唉,运行时会打印以下消息: System.Windows.Data错误:40:BindingExpression路径错误:’object”’String’(HashCode = -843597893)’上找不到’DeleteEmployee’属性。 BindingExpression:路径= DataContext.DeleteEmployee; DataItem =’EmployeeControl’(Name […]

如果范围(x,y)中的值函数c#

c#是否有一个返回表达式布尔值的函数: if(value.inRange(-1.0,1.0)){} ?

foreach,表现明智。 我们应该在循环之前或之内声明变量吗?

对于性能明智而言,更好地在foreach语句之外声明变量,并且每次将其重新分配到foreach(foreach)或在foreach中创建新变量,例如 private List GetItems() { var items = new List(); var collection = new List { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; ListItem item; foreach (var i in collection) { item = new ListItem { Text = i.ToString() }; items.Add(item); } return items; } 还是这个? private List GetItems() { var […]

Lambda变量范围

例: myObject.Stub(s => s.MyMethod(null)).IgnoreArguments().Return(“bleh”); var s = “s”; 变量“s”在lambda中定义,另一个变量“s”在同一方法中定义为局部变量。 当我将鼠标hover在第一个“s”上时,Visual Studio告诉我“下面定义了一个冲突的变量”。 为什么这些相互矛盾; lambda中的“s”肯定不在其封闭的支架之外?

从范围中选择但排除某些数字

是否可以从给定范围(1-90)中选择一个随机数,但不包括某些数字。 排除的数字是动态创建的,但可以说它们分别为3,8和80。 我已设法创建随机数生成器,但无法识别任何让我满足我的要求的function。 Random r = new Random(); this.num = r.Next(1, 90); 要排除的数字是先前生成的数字。 因此,如果随机数为1,则会将其添加到排除的数字列表中。

如何从Forms之间的TextBox传递字符串值?

我有两种forms:Form1是我的应用程序,Form2是登录页面。 我想将输入到Form2上的用户名文本框(LoginTbox)的值传递给Form1。 这就是我到目前为止所拥有的。 没有收到任何错误,但似乎没有任何错误。 我已经尝试过构造函数,但似乎无法让它工作。 我究竟做错了什么? Program.cs中 static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Form2 fLogin = new Form2(); if (fLogin.ShowDialog() == DialogResult.OK) Application.Run(new Form1()); else Application.Exit(); } 表格2(登录表格) public string strVar = string.Empty; public Form2() { InitializeComponent(); } public void button1_Click(object sender, EventArgs e) { strVar = loginTbox.Text.ToString(); string _pass = textBox2.Text; string conStr = […]

C#:端点为空(无穷大)时的范围交集

好的,我有这些交集方法来处理范围,只要范围端点不为null,它们就可以正常工作: public static bool Intersects(this Range first, Range second, IComparer comparer) { return comparer.Compare(first.Start, second.End) = 0; } public static Range GetIntersectionWith(this Range first, Range second, IComparer comparer) { // Return null, if any range is null or if they don’t intersect at all if (first == null || second == null || !Intersects(first, second, […]

为什么我不能声明已经声明的同名变量,但新变量超出了其他变量的范围

private void Abc() { string first=””; ArrayList result = new ArrayList(); ArrayList secResult = new ArrayList(); foreach (string second in result) { if (first != null) { foreach (string third in secResult) { string target; } } string target;//Here I cannot decalre it. And if I don’t declare it and //want to use it then […]

将一个对象的方法传递给另一个对象是否保持第一个对象存活?

假设我有三个对象:’a’,’b’和’c’。 对象’a’和’c’是长寿命的,静态引用的服务单例。 对象’b’是短暂的,即没有静态引用使其保持活动状态。 现在假设对象’a’在其一个方法的范围内创建对象’b’的实例,例如 B b = new B(); 进一步假设B类看起来像这样: public B () { C.ActionList.Add ( SomeMethod ); } void SomeMethod () { … } 现在,对象’b’存活了多长时间? 我的推测是,它超出了调用其构造函数的方法的范围; 具体来说,只要它的方法仍然在对象’c’的’ActionList’中。 那是对的吗? 如果没有,它会被垃圾收集,当’c’运行’ActionList’中的所有方法时会发生什么? 额外的问题:如果’b’上的方法没有命名,但匿名并在构造函数中写入如下,该怎么办? public B () { C.ActionList.Add ( () => { … } ); }