C# 自动更新号码
您好,我正在使用C#2010 Windows窗体应用程序,对于我的项目,我想知道当我添加一个新成员时,如何自动进行可变增量。我也希望当我删除任何成员时,重置成员的数量将减少1。我希望我能为您澄清我的问题,并感谢您的任何帮助……对不起,我的英语不好C# 自动更新号码,c#,numbers,C#,Numbers,您好,我正在使用C#2010 Windows窗体应用程序,对于我的项目,我想知道当我添加一个新成员时,如何自动进行可变增量。我也希望当我删除任何成员时,重置成员的数量将减少1。我希望我能为您澄清我的问题,并感谢您的任何帮助……对不起,我的英语不好 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace AddressBookInC { class Ad
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace AddressBookInC
{
class Addresses
{
public int AddressID { get; set; }
public String FirstName { get; set; }
public String LastName { get; set; }
public String AddressEmail { get; set; }
public String PhoneNumber { get; set; }
}
}
那么,为什么不把它们放在一个
列表中
,类似于:
List<Address> addresses = new List<Address>();
addresses.Add(new Address());
addresses.Add(new Address());
Console.WriteLine(addresses.Count); // now gives you Count of 2
addresses.RemoveAt(0);
Console.WriteLine(addresses.Count); // now gives you Count of 1
好了,现在我知道你想要什么了 您应该使用
List
并将所有成员保留在列表中
我假设AddressID是基于1的
添加新成员时,使用列表中的元素数作为新地址ID,然后将新成员添加到列表中
删除一个或多个成员后,按AddressID对列表进行排序,对于列表中的每个成员,其新AddressID是他在列表中的位置增加一个。添加事件,在地址簿中添加名称,例如
AddressBookItemAdded
和AddressBookItemRemoved
,并在添加/删除任何联系人时激发它们。在这些事件的EventHandler中,只需增加/减少联系人的数量
例如,选中此项:将
地址
集合基于其中一个内置集合类(如列表
)并使用其固有的计数
属性
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace AddressBookInC
{
public class Addresses: List<Address> { }
public class Address
{
public int AddressID { get; set; }
public String FirstName { get; set; }
public String LastName { get; set; }
public String AddressEmail { get; set; }
public String PhoneNumber { get; set; }
}
}
所以你有一类地址,你想自动计算它们 以下是如何做到这一点: 将名为“Count”的公共属性添加到Addresses类中 将名为:NumChanged的事件添加到类中
每次类的用户创建一个新地址或删除一个地址时,您应该引发该事件并将count设置为count+1或count-1,您可以使用一个静态变量来完成此操作,该变量在每次生成新类时递增
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace AddressBookInC
{
class Addresses
{
private static int _incrementId = 0;
public Addresses()
{
AddressID = _incrementId++;
}
public int AddressID { get; set; }
public String FirstName { get; set; }
public String LastName { get; set; }
public String AddressEmail { get; set; }
public String PhoneNumber { get; set; }
}
}
有时候,最好让数据库自己做。在将新项目插入数据库之前,其ID为0。如何添加和删除成员?此变量在代码中的何处?要递增/递减的变量?什么“成员”你在添加/删除吗?我正在使用一个列表,所以当我按下add时,它会将信息添加到我的列表中为什么不使用
列表
的内置计数
属性?@DonBoitnott AddressIDlet猜测我添加了5个成员,我在某个点上删除了成员编号3,那么成员5的地址ID将变为编号对不起,我的英语很差。关键是如何添加5个成员?类中需要某种集合或数组来包含这些成员。一个例子是在类中有一个地址数组。然后为类实现ADD方法。然后类的用户创建Addresses类的新实例,并使用ADD方法向该内部数组添加5个成员。在这种情况下,您还可以拥有一个名为Count的公共属性,该属性在每次添加成员时都会上升。为了能够删除内部成员,而不是数组,您应该使用集合,例如列表对象。逻辑是一样的。@S Nash我从你的谈话中了解到,c语言中没有现成的工具。要做到这一点,我必须自己制作一个工具???不,没有工具可以为你做任何事情。您需要编写代码。另一个建议的答案是使用列表。即使在这种情况下,您也需要编写更多代码:1:创建地址类2:每当用户需要新地址时,使用列表的添加方法将其添加到列表中。对不起,兄弟,这不是我的意思让我猜我添加了5个成员,我在某个时候删除了成员编号3,因此成员编号5的地址ID将更改为编号4…..对不起,我的英语不好,兄弟,你想保留种子吗?每个地址
?@BassamBadr的类似标识在这种情况下,您仍然可以使用.Count
设置列表中最后一个地址
的地址ID。如果删除项目编号3,则会影响项目。其余的人已经有了地址集。@BassamBadr如果你让数据库或可能的EF
来处理这个问题也会好得多。让我们猜测一下,我添加了5个成员,并且在某个时候删除了3号成员,所以5号成员的地址ID将改为4号…..对不起,我的英语不好,兄弟
var myAddresses = new Addresses();
myAddresses.Add(new Address{AddressId = 1, FirstName= "Bob", etc. });
myAddresses.Add(new Address{AddressId = 2, FirstName= "Dave", etc. });
myAddresses.Add(new Address{AddressId = 3, FirstName= "Al", etc. });
int count = myAddresses.Count();
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace AddressBookInC
{
class Addresses
{
private static int _incrementId = 0;
public Addresses()
{
AddressID = _incrementId++;
}
public int AddressID { get; set; }
public String FirstName { get; set; }
public String LastName { get; set; }
public String AddressEmail { get; set; }
public String PhoneNumber { get; set; }
}
}