自动更新号码

时间:2013-05-31 12:53:31

标签: c# numbers

您好我正在使用C#2010 Windows窗体应用程序,对于我的项目我想知道如何在添加新成员时自动进行变量增量我也除外当我删除任何成员时重置成员的数量将减少1我希望我能为你清楚地解决我的问题并感谢你的帮助......对不起我的英语不好

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; }
    }
}

6 个答案:

答案 0 :(得分:1)

那你为什么不把它们放在List<Address>中,比如:

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

这是你的Address课程:

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; }
}

答案 1 :(得分:1)

好的,现在我知道你想要什么。

您应该使用List<Address>并将所有成员保留在列表中。

我认为AddressID是基于1的。

添加新成员时,请使用列表中的元素数作为新的AddressID,然后将新成员添加到列表中。

删除成员或成员后,按地址ID对列表进行排序,对于列表中的每个成员,他的新AddressID是他在列表中的位置加1。

答案 2 :(得分:0)

向地址簿添加包含例如AddressBookItemAddedAddressBookItemRemoved名称的活动,并在添加/删除任何联系人时触发它们。在这些事件的eventHandlers中只增加/减少联系人的数量。

请查看此示例:http://msdn.microsoft.com/en-us/library/aa645739%28v=vs.71%29.aspx

答案 3 :(得分:0)

将您的Addresses集合基于其中一个内置集合类(例如List),并使用它的内在Count属性。

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; }
    }
}

- 某处的客户端代码

 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();

答案 4 :(得分:0)

所以你有一类地址,你想自动计算它们。

以下是如何操作:

将名为“Count”的公共属性添加到地址类中。

将一个名为:NumChanged的事件添加到该类中。

每当班级用户创建新地址或删除地址时,您应该提出该事件并将计数设置为count + 1或count-1

答案 5 :(得分:0)

您可以使用静态变量来执行此操作,该变量在每次生成新类时都会递增。

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,直到它们插入数据库。