| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 780 人关注过本帖
标题:[求助]索引和集合问题!
只看楼主 加入收藏
loveaoao
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-8-3
收藏
 问题点数:0 回复次数:2 
[求助]索引和集合问题!

我写的CardExample一个类工程如下
Card.cs

System;
using System.Collections;
using System.Text;

namespace CardExample
{
public enum Suit
{
红心,
方块,
梅花,
黑桃
}
public enum Rank
{
A=1,
_2,
_3,
_4,
_5,
_6,
_7,
_8,
_9,
_10,
J,
Q,
K
}

public class Card
{
public readonly Suit suit;
public readonly Rank rank;
public override string ToString()
{
return ""+suit+rank;
}
private Card()
{

}
public Card(Suit newSuit, Rank newRank)
{
suit = newSuit;
rank = newRank;
}
}
}

Cards.cs

using System;
using System.Collections;
using System.Text;

namespace CardExample
{
public class Cards:CollectionBase
{
public void Add(Card newCard)
{
List.Add(newCard);
}
public void Remove(Card oldCard)
{
List.Remove(oldCard);
}
public Cards()
{
}

public Card this[int cardIndex]
{
set
{
return (Card)List[cardIndex];
}
get
{
List[cardIndex]= value;
}
}
public bool Contains(Card card)
{
return InnerList.Contains(card);
}
}
}

Deck.cs

using System;
using System.Collections.Generic;
using System.Text;

namespace CardExample
{
public class Deck
{
private Cards cards = new Cards();
public Deck()
{
for(int suitVal=0;suitVal<4;suitVal++)
{
for (int rankVal = 1; rankVal < 14;rankVal++ )
{
cards.Add(new Card((Suit)suitVal, (Rank)rankVal));
}
}
}
public Card GetCard(int cardNum)
{
if (cardNum >= 0 && cardNum <= 51)
{
return cards[cardNum];
}
else
{
throw (new System.ArgumentOutOfRangeException());
}
}
public void Shuffle()
{
Cards newDeck = new Cards();
bool[] assigned= new bool[52];
for (int i = 0; i < 52; i++)
{
int soureeCard = 0;
bool foundCard = false;
Random newRandom = new Random();
while(foundCard==false )
{
soureeCard = newRandom.Next(52);
if (assigned[soureeCard] == false)
foundCard = true;
}
assigned[soureeCard] = true;
newDeck.Add(cards[soureeCard]);
}
cards = newDeck;
}
}
}


在编译成.dll文件时候出现两个错误:
错误 1 由于“CardExample.Cards.this[int].set”返回 void,返回关键字后面不得有对象表达式 E:\备份\作业练习\Visual Studio 2005\Projects\CardExample\CardExample\Cards.cs 25 17 CardExample
错误 2 当前上下文中不存在名称“value” E:\备份\作业练习\Visual Studio 2005\Projects\CardExample\CardExample\Cards.cs 29 34 CardExample

由于我是刚刚自学,还请老鸟指点!

搜索更多相关主题的帖子: 索引 梅花 System using public 
2006-08-03 14:33
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 
set
{
return (Card)List[cardIndex];
}
get
{
List[cardIndex]= value;
}

set get寫反了
剛開始學,寫的程序不錯
不過怎麼沒有大 小鬼 洗牌的算法也差了點

[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-08-03 14:51
loveaoao
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-8-3
收藏
得分:0 

汗~~
谢谢大虾指点!
小的感激不尽!


2006-08-03 14:55
快速回复:[求助]索引和集合问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022608 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved