C# variable voor meerdere functies

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Jelte12345
  • Registratie: Februari 2009
  • Laatst online: 07-05-2024
Ik ben behoorlijk nieuw met het programmeren in een C taal.
En ik weet niet hoe dit moet:
ik wil graag dat een variabele die bij het opstarten van een form gecreëerd word ik in een Click event nog steeds kan gebruiken.
dit is zoals ik het nu heb:
public partial class Acount : Form
{
public Acount()
{
string loginStr = "Jelte"
}

private void SaveBtn_Click(object sender, EventArgs e)
{
Label1.Text = loginStr
}
}
maar dat werkt niet zo want dan kent hij de variabele loginStr niet bij het Click event
dus mijn vraag is hoe zorg ik dat het wel werkt?

Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:53

Haan

dotnetter

Tip: zoek eens naar class instance variabelen :)

[ Voor 6% gewijzigd door Haan op 23-11-2009 20:13 ]

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • ZaPPZion
  • Registratie: Februari 2009
  • Laatst online: 28-08 12:46
public partial class Acount : Form
{
private string loginStr;
public Acount()
{
loginStr = "Jelte"
}

private void SaveBtn_Click(object sender, EventArgs e)
{
Label1.Text = loginStr
}
}

Acties:
  • 0 Henk 'm!

Verwijderd

offtopic:
Daar pak je me ook gelijk wel een boek van de onderste plank. Waarom zou in hemelsnaam 'str' voor iedere string zetten. Waarom zulk gebruik van Hungarian notation nog steeds in boeken wordt gepropageerd is me echt een raadsel. Overbodig tikwerk, de namen van je variabelen moeten zichzelf uitleggen. Je kunt toch wel raden dat er in 'woonplaats' een string zit en geen integer of dat bedrag een currency type bevat en geen datum...

Acties:
  • 0 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 00:29
waarom zou er in woonplaats niet een object staan?

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 01:56
Verwijderd schreef op dinsdag 24 november 2009 @ 12:22:
[...]

offtopic:
Daar pak je me ook gelijk wel een boek van de onderste plank. Waarom zou in hemelsnaam 'str' voor iedere string zetten. Waarom zulk gebruik van Hungarian notation nog steeds in boeken wordt gepropageerd is me echt een raadsel. Overbodig tikwerk, de namen van je variabelen moeten zichzelf uitleggen. Je kunt toch wel raden dat er in 'woonplaats' een string zit en geen integer of dat bedrag een currency type bevat en geen datum...
Zowiezo heb je tegenwoordig een geavanceerde IDE die je mbhv intellisense wel laat weten van welk type een variable is.
Prefixen van variablen vervuilt je source alleen maar, en maakt het moeilijker om een 'fluent' interface te hebben.
/offtopic.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • sjorsjuhmaniac
  • Registratie: Februari 2009
  • Laatst online: 23:05
Jelte12345 schreef op maandag 23 november 2009 @ 20:11:
Ik ben behoorlijk nieuw met het programmeren in een C taal.
En ik weet niet hoe dit moet:
ik wil graag dat een variabele die bij het opstarten van een form gecreëerd word ik in een Click event nog steeds kan gebruiken.
dit is zoals ik het nu heb:
public partial class Acount : Form
{
public Acount()
{
string loginStr = "Jelte"
}

private void SaveBtn_Click(object sender, EventArgs e)
{
Label1.Text = loginStr
}
}
maar dat werkt niet zo want dan kent hij de variabele loginStr niet bij het Click event
dus mijn vraag is hoe zorg ik dat het wel werkt?
om even snel je vraag te beantwoorden:

Variabelen gedefinieerd binnen functies blijven alleen binnen die functies bruikbaar. Wil je hem in het gehele form gebruiken zal je de variabele in het form moeten definiëren

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public partial class Acount : Form
    {
       private string loginStr;

        public Acount()
        {
            loginStr = "Jelte"
        }

        private void SaveBtn_Click(object sender, EventArgs e)
        {
             Label1.Text = loginStr
        }
    }

zal wel werken.

Maar een tutorial kan geen kwaad.

sjors

Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 16-09 15:42

Sebazzz

3dp

Caelorum schreef op dinsdag 24 november 2009 @ 12:28:
waarom zou er in woonplaats niet een object staan?
Een string is ook een object. ( :p )

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:27

Creepy

Tactical Espionage Splatterer

Dat, en even de PRG quickstart en algemeen beleid lezen ook niet (o.a. over het gebruik van code tags wat alles een stukje leesbaarder maakt en het wel of niet je naam onders posts zetten) ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

Verwijderd

Caelorum schreef op dinsdag 24 november 2009 @ 12:28:
waarom zou er in woonplaats niet een object staan?
Dus dan zou het een objWoonplaats worden? Terwijl het een Woonplaats is? Dan is het geen object meer, maar een specialisatie van object. Waarom zou je het dan nog aanduiden als type wat zich hoger in de overervingsboom bevindt? Wordt het dan wplWoonplaats en ga je conventies voor al je objecten verzinnen? Succes in een team! Overigens erft System.ValueType ook over van Object, dus kun je volgens die logica alles prependen met 'obj', je ints, je floats, je alles. Je wint er gewoon niets mee en levert alleen obfuscatie op. Duidelijke namen is the way to fly.
En zoals whoami al aangeeft, de IntelliSense van Visual Studio geeft het type weer.

Sorry ik ga ongelooflijk off-topic. nvm.

[ Voor 6% gewijzigd door Verwijderd op 24-11-2009 12:58 ]


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Om ook nog maar eens een keyword te geven voor de TS: Scope

Dat is een belangrijk begrip op te begrijpen. Even op google zoeken levert bijvoorbeeld deze pagina op: http://www.blackwasp.co.uk/CSharpVariableScopes.aspx

Als je dat doorleest snap je waarschijnlijk meteen hoe je je probleem op moet lossen. Maar het is in principe een concept wat in (bijna) alle programmeer talen voorkomt, en dus is het inderdaad ook slim om eens een goed boek te kopen en die door te nemen, wat dit word er zeker in behandeld.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 00:29
Ik vind het zelf ook een wat mindere notatie hoor, maar soms helpt het wel om dingen duidelijker te maken. Daarnaast kan het ind it geval ook een plaats Object zijn of een locatie. Heel erg raar of super vervelend is de notatie nou ook weer niet.
Er wordt hier gedaan alsof het erg overbodig is omdat VS het allemaal wel laat zien. Alleen niet iedereen gebruikt VS om c# code te schrijven ;)
Pagina: 1