Possible Duplicate:
Any chance to get unique records using Linq (C#)?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WaysOf100
{
class WaysOf100Test
{
static void Main(string[] args)
{
WaysOf100 test= new WaysOf100();
test.Go();
test.EliminateDuplicates();
时 时
时 时
class WaysOf100
{
List<string> results = new List<string>();
public void Go()
{
int num = 5, temp=0;//to store the intermediate difference
for (int i = 1; i <num; i++)
{
temp = num - i;
for (int j = 1; j <= temp; j++)
{
if (temp % j == 0)
{
//Console.Write(i + " ");
string text = "";
text = i.ToString();
for (int k = 1; k <= (temp / j); k++)
{
//Console.Write(j + " ");
text += j.ToString();
时 时
char[] rev = text.ToCharArray();
Array.Reverse(rev);
if(!(results.Contains(rev.ToString())))
results.Add(text);
时 时
时 时
时 时
时 时
public void EliminateDuplicates()
{
//To eliminate the duplicates
/*for (int i = 0; i < results.Count; i++)
{
for (int j = 0; j < results.Count; j++)
{
if (!(results[i].Equals(results[j])))
{
char [] rev = results[j].ToCharArray();
Array.Reverse(rev);
if (results[i]==rev.ToString())
results.Remove(rev.ToString());
时 时
时 时
时 时*/
foreach (var result in results)
{
Console.WriteLine(result);
时 时
Console.WriteLine("Total number of elements is :{0时 时",results.Count);
时 时
时 时
时 时
The result so far is 11111 122 14 2111 23 311 32 41
简言之,这就是我想要的:41的倒数是14, 14在列表中已经存在,所以我不想增加41。 同样,32的倒数是23, 也存在,因此32不应该增加。 但是,我写来实现功能的这一部分可能并没有带来预期的效果。
if(!(results.Contains(rev.ToString())))
results.Add(text);