Skip to content
Snippets Groups Projects
Commit c660ad5b authored by Vesa Lappalainen's avatar Vesa Lappalainen :bicyclist:
Browse files

live16 alku

parent b51f4694
No related branches found
No related tags found
No related merge requests found
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/modules.xml
/projectSettingsUpdater.xml
/contentModel.xml
/.idea.live16.iml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
</project>
\ No newline at end of file
/// @author Vesa Lappalainen
/// @version 27.10.2012
/// <summary>
/// Esimerkkejä olioista
/// </summary>
public class Elaimet
{
/// <summary>
/// Tutkitaan olioiden käyttäytymistä
/// </summary>
public static void Main()
{
// Kissa miuku = new Kissa("Miuku", 900);
// Kissa mirri = new Kissa("Mirri", 19000);
// Koira musti = new Koira("Musti", 2700);
}
}
\ No newline at end of file
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<ExternalConsole>true</ExternalConsole>
</PropertyGroup>
</Project>
using System;
/// @author Vesa Lappalainen
/// @version 26.10.2012
/// <summary>
/// Tutkitaan muuttujinen näkyvyyttä
/// </summary>
public class MuuttujienNakyvyys
{
/// <summary>
/// Missä pääohjelman muuttujat näkyvät
/// </summary>
/// <param name="args">ei käytössä</param>
public static void Main(string[] args)
{
int luku = 9; // Näkyy vain pääohjelmassa
double d = 5.5; // Näkyy vain pääohjelmassa
int[] luvut = { 1, 2, 3 }; // Näkyy vain pääohjelmassa, mutta viitteen kautta aliohjelmakin voi muuttaa
Muuta(luvut, 2, luku);
{ // apulohko, jossa omia muuttujia
int uusi = 3; // muuttuja joka näkyy vain tässä lohkossa
Console.WriteLine(uusi);
} // nyt uusi-muuttuja lakkaa olemasta
// Muuttujaa uusi ei ole enää olemassakaan
// Täytetään taulukkoa
int edellinen = 0;
for (int i = 0; i < luvut.Length; i++)
{
int nyt = luvut[i]; // on olemassa silmukan sisällä
int iso = 3 * nyt; // on olemassa silmukan sisällä
luvut[i] += iso;
edellinen = nyt + luku; // silmukan ulkopuolella määritelty muuttuja
}
Console.WriteLine($"{d} {edellinen}");
}
/// <summary>
/// Laitetaan taulukon luvut paikkaan uusi luku
/// </summary>
/// <param name="luvut">taulukko jota muutetaan, aliohjelman oma viite, mutta viitteen kautta voi muuttaa myös kutsuvan ohjelman taulukkoa</param>
/// <param name="paikka">paikka jota muutetaan, näkyy vain aliohjelmassa, muuttaminen ei vaikuta kutsuvaan ohjelmaan</param>
/// <param name="luku">uusi arvo, näkyy vain aliohjelmassa, sama nimi ei haittaa, muuttaminen ei vaikuta kutsuvaan ohjelmaan</param>
public static void Muuta(int[] luvut, int paikka, int luku)
{
luvut[paikka] = luku; // viitteen ansiosta pääohjelman taulukko muuttui
paikka--; // ei vaikuta pääohjelmaan
int uusiarvo; // aliohjelman lokaali muuttuja
uusiarvo = luku + 3;
luvut[paikka] = uusiarvo; // muuttaa pääohjelman taulukkoa
// ReSharper disable once RedundantAssignment
luku = 12; // ei vaikuta pääohjelmaan
}
}
\ No newline at end of file
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<ExternalConsole>true</ExternalConsole>
</PropertyGroup>
</Project>

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MuuttujienNakyvyys", "MuuttujienNakyvyys\MuuttujienNakyvyys.csproj", "{D5B526A1-AE4D-400B-AEB6-DED87CD0B7E0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elaimet", "Elaimet\Elaimet.csproj", "{433B6297-20A2-4782-8B5F-7E83C9199478}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D5B526A1-AE4D-400B-AEB6-DED87CD0B7E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D5B526A1-AE4D-400B-AEB6-DED87CD0B7E0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D5B526A1-AE4D-400B-AEB6-DED87CD0B7E0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D5B526A1-AE4D-400B-AEB6-DED87CD0B7E0}.Release|Any CPU.Build.0 = Release|Any CPU
{433B6297-20A2-4782-8B5F-7E83C9199478}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{433B6297-20A2-4782-8B5F-7E83C9199478}.Debug|Any CPU.Build.0 = Debug|Any CPU
{433B6297-20A2-4782-8B5F-7E83C9199478}.Release|Any CPU.ActiveCfg = Release|Any CPU
{433B6297-20A2-4782-8B5F-7E83C9199478}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment