123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- using System;
- using System.Collections.Generic;
- namespace ET.Server;
- /// <summary>
- /// 麻将相关工具类
- /// </summary>
- public static class CardHelper
- {
- /// <summary>
- /// 删除数组中的元素
- /// </summary>
- /// <param name="target">数据源</param>
- /// <param name="v">删除的元素</param>
- /// <returns>新的数据源</returns>
- public static int[] Remove(int[] target, int v)
- {
- int len = target.Length;
- if (len == 0)
- {
- return target;
- }
- // 直接查找要删除的元素
- for (int i = 0; i < len; i++)
- {
- if (target[i] == v)
- {
- int[] dest = new int[len - 1];
- if (i > 0)
- {
- Array.Copy(target, 0, dest, 0, i);
- }
- if (i != len - 1)
- {
- Array.Copy(target, i + 1, dest, i, len - i - 1);
- }
- return dest;
- }
- }
- // 如果未找到元素,返回原数组
- return target;
- }
-
- /// <summary>
- /// 向数组添加元素
- /// </summary>
- /// <param name="src">数据源</param>
- /// <param name="v">增加的元素</param>
- /// <returns>新的数据源</returns>
- public static int[] Add(int[] src, int v) {
- List<int> list = new List<int>(src);
- list.Add(v);
- return list.ToArray();
- }
- /// <summary>
- /// 获取数组中某个元素的数量
- /// </summary>
- /// <param name="target"></param>
- /// <param name="card"></param>
- /// <returns></returns>
- public static int CountCardNum(int[] target, int card) {
- int i = 0;
- foreach (int tar in target)
- {
- if (tar == card)
- {
- i++;
- }
- }
- return i;
- }
- }
|