定义个list,,循环-》首先查找-》如果有则标记,没有则插入。
解决方案 »
- 请教。。如何在c#中对access查询,插入数据
- 奇怪,wcf 好像序列化时候无法获取对象类型
- (急)通过WebOffice上传Word文档,非法关闭之后再打开程序异常如何解决???
- 该如何优化此功能?
- 字母转换成中文办法--
- 未将对象引用设置到对象的实例
- 关于编译后文件支持的一个问题!!!!!!!!!!!!!!!@##^#%$#!@$@#$@#$!@#!@#!%$#@%$
- GridView的内置分页
- 创建一个类,它存储一个int数据成员MyNumber,并给该数据成员创建属性,当该数据成员被存储时,将其乘以100;当其被读取时,将其除以100。
- 怎么在datagrid内显示两个datatable的联合查询结果
- 如何得到DataGrid事件?
- 已知一个数据库的数据文件,如何用程序加入SQL SERVER的企业管理器中,新建成一个库.
{
if (al.Contains(你的表格[i]))
Console.WriteLine(你的表格[i],已经存在);
else
al.Add(你的表格[i]);
}
定义个list,,循环-》首先查找-》如果有则标记,没有则插入。
那第一次插入的就无法标记,要求将所有重复的都标记,你漏掉了第一个。
在hashtable里查找表格里的内容,如果有标记,没有则插入hashtable,
在hahtable内部有个内部循环,他用的是快表查询(起码delphi是这样)比自己的循环快多了
for(int i = 0; i <你的表格.count i ++)
{
try
{
hashtable.Add(你的表格[i],你的表格[i])
}
catch(Exception e)
{
Console.WriteLine(你的表格[i],已经存在);
}
}
首先在list里不存在插入list里,继续循环发现有重复,则标记,但是在list中与它重复的记录没有标记,与要求不付。
用hashtable是一个办法,hashtable里保存判断重复的列的值和行号,有重复就将hashtable中的记录和没插入的记录都标记,有人有更好的办法吗?
这个方法快的,因为哈西表是不使用循环做重复检测的,它的取Key时间应该是一个常数,在数据量大的情况下这一点相当重要.
int[] b={1,1,2,3,4,4,5,5,6,6,9,0,10}
整理完应该是
int[] b={2,3,9,0,10}
吗?还是
int[] b={1,2,3,4,5,6,9,0,10}
请说明
行号 数值
1 1
2 2
3 2
4 1
5 3
6 4
那么我就要求标记出
行号 数值 标记
1 1 true
2 2 true
3 2 true
4 3
5 1 true
6 4
using System;
using System.Collections;namespace ConsoleApplication1
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
class Data
{
public int key=0;
public object obj=null;
public bool diploid=false;
}
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
Data[] data=new Data[100];
//要在此对data赋值
Hashtable hashtable = new Hashtable();
for(int a=0;a<data.Length;a++)
{
Data temp=(Data)hashtable[data[a].key];
if(temp==null)
{
hashtable.Add(data[a].key,data[a]);
}
else
{
temp.diploid=true;
data[a].diploid=true;
hashtable.Remove(temp.key);
hashtable.Add(data[a].key,data[a]);
}
}
}
}
}