Kezdőoldal » Számítástechnika » Programozás » C#-ban a foreach in-je után...

Progizo kérdése:

C#-ban a foreach in-je után milyen adattípus van?

Figyelt kérdés

Sziasztok! Egy C#-ban írt programom listájában tárolom a játékosokat jelképező négyzeteket, illetve azok XY koordinátáit. Foreach ciklussal rajzoltatnám ki ezeket a Rajzol() függvényben, de azt írja ki a SharpDevelop hibaként, hogy: "A "jatekosok" név nem szerepel ebben a környezetben." Hogyan lehet megoldani, hogy felismerje a jatekosok változót ott? Valamilyen adattípusként deklarálnom kéne valahol? Vagy át kellene adnom paraméterként a Rajzol() függvénynek? Melyik a jó és mi a megoldás rá?

Íme a kód:

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Windows.Forms;


namespace valami

{

public class jatekos

{

public int xhely;

public int yhely;

public int szel;

public int mag;

public jatekos()

{

szel=50;

mag=50;

}

}


public partial class MainForm : Form

{

jatekos ujjatekos;

public MainForm()

{

InitializeComponent();


List<jatekos> jatekosok=new List<jatekos>();

Random vsz=new Random();

for (int i=0;i<=9;i++)

{

jatekosok.Add(new jatekos() {xhely=vsz.Next(1,200),yhely=vsz.Next(1,200)});

}

Paint += new PaintEventHandler(Rajzol);

}


void Rajzol(object sender, PaintEventArgs e)

{

foreach (jatekos ujjatekos in jatekosok)

{

e.Graphics.FillRectangle(Brushes.BlueViolet,new Rectangle(ujjatekos.xhely,ujjatekos.yhely,ujjatekos.szel,ujjatekos.mag));

}

}



}



2017. okt. 23. 10:42
 1/6 anonim ***** válasza:
Oda objektumot kell írni és nem a típusát és olyat ami megvalósítja az ienumerator és ienumerable interfészeket.
2017. okt. 23. 11:37
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
IEnumerable
2017. okt. 23. 11:39
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:
Egy IEnumerable vagy IEnumerable<T> típusú kifejezést kell megadni.
2017. okt. 23. 13:50
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:

Nem az a probléma, amit kérdezel...

Első ránézésre az a baj, hogy a Rajzol metódusban nem érheted el a konstruktorban deklarált jatekosok[]-at. Helyette a MainForm osztály adattagja kellene legyen. Az ujjatekos meg felesleges ott.

2017. okt. 23. 15:14
Hasznos számodra ez a válasz?
 5/6 A kérdező kommentje:
#4.: Igazad van: a MainForm-ba írva a listát tényleg jó, köszönöm! (Sajnos kezdőként még nem nagyon értem, hogy mit hova kell írni a megfelelő hatásért.)
2017. okt. 23. 15:31
 6/6 anonim ***** válasza:
De azért GUI-zol, aha.
2017. okt. 23. 15:50
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!