List<string> list = new List<string>();
if (y != 0) { list.Add(z.ToString() + "\t" + x.ToString() + "\t" + y.ToString()); }
这是循环过程中将数据写入list的语句。遇到的问题是:z每次增加dz,就会有200对x、y写入,写入大概10组同样的200对xy后,z循环到某个值才会有不同的xy写入,但还是要重复10组同样的数。导致我写入的数据非常多而且乱。
我现在想问一下大家有没有一种识别语句,让程序知道这组x、y值已经写入过,不必重复写入。每当200对x、y值发生变化时才再次写入
不知道我说清楚了没。就是x、y值每200对为一个单元。
if (y != 0) { list.Add(z.ToString() + "\t" + x.ToString() + "\t" + y.ToString()); }
这是循环过程中将数据写入list的语句。遇到的问题是:z每次增加dz,就会有200对x、y写入,写入大概10组同样的200对xy后,z循环到某个值才会有不同的xy写入,但还是要重复10组同样的数。导致我写入的数据非常多而且乱。
我现在想问一下大家有没有一种识别语句,让程序知道这组x、y值已经写入过,不必重复写入。每当200对x、y值发生变化时才再次写入
不知道我说清楚了没。就是x、y值每200对为一个单元。
2,你可以尝试使用CompareTo来比较字符串,个人认为CompareTo语句在你这个情况中是效率最高的,只要CompareTo的结果!=0就执行写入操作
确定某元素是否在 List <(Of <(T >)>) 中。
命名空间: System.Collections.Generic
程序集: mscorlib(在 mscorlib.dll 中)
语法VBC#C++F#JScript以带有颜色区分的格式查看复制到剪贴板打印Public Function Contains ( _
item As T _
) As BooleanPublic Function Contains ( _
item As T _
) As Boolean
public bool Contains(
T item
)public bool Contains(
T item
)
public:
virtual bool Contains(
T item
) sealedpublic:
virtual bool Contains(
T item
) sealed
abstract Contains :
item:'T -> bool
override Contains :
item:'T -> bool abstract Contains :
item:'T -> bool
override Contains :
item:'T -> bool 参数
item
类型: T
要在 List <(Of <(T >)>) 中查找的对象。 对于引用类型,该值可以为 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing)。 返回值
类型: System ..::.Boolean
如果在 List <(Of <(T >)>) 中找到 item,则为 true,否则为 false。
using System;
using System.Collections.Generic;public class Example
{
public static void Main()
{
List<string> dinosaurs = new List<string>(); Console.WriteLine("\nCapacity: {0}", dinosaurs.Capacity); dinosaurs.Add("Tyrannosaurus");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("Mamenchisaurus");
dinosaurs.Add("Deinonychus");
dinosaurs.Add("Compsognathus"); Console.WriteLine();
foreach(string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
} Console.WriteLine("\nCapacity: {0}", dinosaurs.Capacity);
Console.WriteLine("Count: {0}", dinosaurs.Count); Console.WriteLine("\nContains(\"Deinonychus\"): {0}",
dinosaurs.Contains("Deinonychus")); Console.WriteLine("\nInsert(2, \"Compsognathus\")");
dinosaurs.Insert(2, "Compsognathus"); Console.WriteLine();
foreach(string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
} Console.WriteLine("\ndinosaurs[3]: {0}", dinosaurs[3]); Console.WriteLine("\nRemove(\"Compsognathus\")");
dinosaurs.Remove("Compsognathus"); Console.WriteLine();
foreach(string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
} dinosaurs.TrimExcess();
Console.WriteLine("\nTrimExcess()");
Console.WriteLine("Capacity: {0}", dinosaurs.Capacity);
Console.WriteLine("Count: {0}", dinosaurs.Count); dinosaurs.Clear();
Console.WriteLine("\nClear()");
Console.WriteLine("Capacity: {0}", dinosaurs.Capacity);
Console.WriteLine("Count: {0}", dinosaurs.Count);
}
}/* This code example produces the following output:Capacity: 0Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
CompsognathusCapacity: 8
Count: 5Contains("Deinonychus"): TrueInsert(2, "Compsognathus")Tyrannosaurus
Amargasaurus
Compsognathus
Mamenchisaurus
Deinonychus
Compsognathusdinosaurs[3]: MamenchisaurusRemove("Compsognathus")Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
CompsognathusTrimExcess()
Capacity: 5
Count: 5Clear()
Capacity: 5
Count: 0
*/
{
for (int x = 0; x < 200; x++)
{ y = 。}
z在不断增加,我每次x行走200次得到一组对应的x、y值,但z行走10步才会有不同的y值计算得出。所以会有很10组相同xy,我现在想筛选出来,不要重复写入list10组数据。。
请指教谢谢啦
List<string> list = new List<string>();
for (z = 0; z <=z_caster ;z+= dz)
{
for (int x = 0; x < 200; x++)
{
if (y != 0)
{
string str =z.ToString() + "\t" + x.ToString() + "\t" + y.ToString();
if(!list.Contains(str))
{
list.Add(str);
}
} }
}
for (z = 0; z <=z_caster ;z+= dz)
{
for (int x = 0; x < 200; x++)
{
if (z%10==0&&y != 0)
{
string str =z.ToString() + "\t" + x.ToString() + "\t" + y.ToString(); if(!list.Contains(str)) { list.Add(str);
}
}
}
}