当前位置: 首页 > 知识库问答 >
问题:

如何在数组中找到最低ID

伍心水
2023-03-14

我需要找到数组中最低的客户id,并将其增加1。

所以我需要for循环来搜索最大的id(默认为0)并每次增加1(创建customer类的一个新对象)。

真不知道如何实现“I”值才能让循环搜索到ID……

我的模型:

public class CustomerModel
{
   public int IDCustomer {get; set;}
   public string LastNameCustomer {get; set;}
   public string FirstNameCustomer {get; set;}
   public string AdressCustomer {get; set;}
}

我的算法尝试:

CustomerModel[] MemoryCustomers = new CustomerModel[9];
OrderModel[] MemoryOrders = new OrderModel[9];

public string CreateCustomer(CustomerModel model)
{
    CustomerModel NewCustomer = new CustomerModel();

    for (int i = 0; i < 10; i++)
    {
         //What to put here        
    }
}

共有3个答案

闽阳州
2023-03-14

这可能不是您正在搜索的,但它应该工作得更加一致。

在您的Customer-Class中添加如下内容:

private static int last_gen_id = -1;
public static int Gen_ID {
    get {
        last_gen_id++;
        return last_gen_id;
    }
}

对于您想要生成的每个id,您只需调用customer.gen_id就可以得到一个唯一的id。 这在线程处理中不起作用,因此请注意;)

章绪
2023-03-14

别那么做。

您应该尝试从某个外部提供商获取客户的下一个id。 如果您使用的是数据库系统,那么它可以为您生成索引--您只需要在DBMS中定义一个计数器或ID生成器或其他类似的东西。 如何做到这一点取决于您使用的是哪个DB。

否则,您可以创建自己的方法,每次需要新ID时都可以调用该方法; 类似于:

newCustomer.IDCustomer = GetNextId();

如果这样做,请确保该方法不能多次返回任何ID,这样您应该是安全的。 有几种方法可以做到这一点; 一是不断增加一个数字。 另一种方法是使用UUID或GUID:

 var id = Guid.NewGuid().ToString() // Generate a universally unique ID-string

如果你想要的ID看起来是随机的,那么后者尤其有用,因为知道一两个ID不会让你很容易猜到其他ID(这是许多应用程序中常见的安全问题/弱点)。

谭学名
2023-03-14

这样做不是一个好的做法,如果处理数据库,您可以使用“SQL标识”。 也可以使用类型GUID为每个客户生成唯一标识符。

 类似资料:
  • 有人能帮我吗,我不知道如何找到最低的公共倍数。 例如,数字4和5是20。这就是我想要在代码中实现的。 谢谢你

  • 问题内容: 假设我有一个对象数组。并且对象具有属性。除了逐一读取对象并逐一比较值之外,是否还有其他捷径可做?谢谢。 问题答案: 您可以简单地将用户数组映射到用户年龄数组和查找最大年龄数组:

  • 现在我要为每个学生找到总分和最高分。(一名学生的最高分是指他/她在哪一个学期获得最高分,也是指该学生的总分=第一学期+第二学期)。但我不知道我会怎么写,如果有人能帮助我,我会很感激他。

  • 嗨,我有两个班,员工和部门。我的主要功能是读取一个。txt文件,填写员工姓名、工资、部门和职位。我的员工班只是一个有成就感和有成就感的人。为了代表员工,我制作了一份ArrayList列表,我不确定如何找到每个部门的最低工资。为了找到最高工资,我在我的系课上这样做了。 但我不知道怎样才能拿到最低工资。我的想法是从每个部门获得一名员工的工资,并以此作为工作的起点 但是我意识到我不知道该怎么办。我能得到

  • 如何在java中找到负整数的最大有效数?我有以下代码,可以很好地处理正整数。这是代码: 现在,我可以通过将变量max减少到-5或低于-4来解决这个问题,但这是低效的,因为我们不知道最小值。 那么,如何实现呢?

  • 我正在努力完成作业,需要一点推动-问题是设计一个算法,在O(nlogm)时间内找到多个最小元素 希望您能指点一下方向。谢谢

  • 我有一个数组,我需要三个数中最大的一个数和各自的索引值。我有一个这样的数组: 如何找到最大的数字及其索引值?

  • 问题内容: 给定一个整数数组和一个整数 k,从所有大小为 K 的连续子数组中找出 的最大元素。 例如: 对于每个大小为 k 的子数组,打印其最大元素。 问题答案: 基本的解决方案是生成所有大小为k的连续子数组并循环遍历它们以找出当前子数组中的最大值。考虑到,对于每个点,我们基本上都是取下一个 元素,然后我们遍历那些 k 个元素,因此该算法的最坏时间复杂度将是。 稍微有效的方法: 通过使用Segme