初心者向けのビジュアルC#。 講義6.関数

みなさんこんにちは!



ビデオコースの講義が長くなかったことをおaび申し上げます。 録画できなかった理由はいくつかありましたが、今からは、ビデオを多少安定させて録画すると思います。



さあ



この講義では、関数、関数パラメーター、変数の範囲、および将来間違いなく非常に役立つその他の有用なことについて学びます。 講義は前の講義よりもさらに長かったので、次から始めて、2つのパートに分けます。本当にたくさんの資料があるからです!



以前の講義へのリンク


講義1.はじめに

講義2.こんにちは、World! Visual C#Express 2010を理解する

講義3.変数と式

講義4.条件とサイクル

講義5.型変換。 列挙、構造、配列



以前の宿題への回答:


1.暗黙的に実行できない操作は次のとおりです。

c

文字列にブール

フロートのバイト



2. 4つの異なる色を含む色をリストするためのshortタイプに基づいてコードを作成します。 そのような列挙はバイトに基づいているのでしょうか?

回答:列挙を作成するには、4つの講義の例を使用できます。 バイト型を使用できます。



3.次のコードはコンパイルされますか?その理由は?

string [] blab = new string [5]

string [5] = 5th string ;



* This source code was highlighted with Source Code Highlighter .






回答:いいえ、値は配列に割り当てられる必要があるため(blab [5] =“ 5th string”)、文字列値は引用符で囲む必要があり、インデックスも配列の外側にあります。



素敵な景色を!





加えて-別の投稿でアップロードしないことを決めたビデオ:

Visual C#初心者向け-コードアップグレード#1





講義資料


実験室1号 配列内の最大の要素を見つける

static int MaxValue( int [] intArray)

{

int maxVal = intArray[0];



for ( int i = 1; i < intArray.Length; i++)

{

if (intArray[i] > maxVal)

maxVal = intArray[i];

}

return maxVal;

}



static void Main( string [] args)

{

int [] myArray = {1, 8, 3, 6, 2, 5, 9, 3, 0, 2};

int maxVal = MaxValue(myArray);

Console .WriteLine( "The maximum value in myArray is {0}" , maxVal);

}




* This source code was highlighted with Source Code Highlighter .








実験室作業2。 パラメータの配列を使用する

static int SumVals( params int [] vals)

{

int sum = 0;

foreach ( int val in vals)

{

sum += val;

}

return sum;

}



static void Main( string [] args)

{

int sum = SumVals(1, 5, 2, 9, 8);

Console .WriteLine( "Summed values = {0}" , sum);

}




* This source code was highlighted with Source Code Highlighter .








実験室作業3。 参照によるパラメーターの受け渡し

static void ShowDouble( ref int val)

{

val *= 2;

Console .WriteLine( "Doubled value is {0}" , val);

}



static void Main( string [] args)

{

int myNumber = 5;

Console .WriteLine( "myNumber is {0}" , myNumber);

ShowDouble( ref myNumber);

Console .WriteLine( "myNumber is {0}" , myNumber);

}




* This source code was highlighted with Source Code Highlighter .








実験室作業4。 参照によるパラメーターの受け渡し

static void ShowDouble( ref int val)

{

val *= 2;

Console .WriteLine( "Doubled value is {0}" , val);

}



static void Main( string [] args)

{

int myNumber = 5;

Console .WriteLine( "myNumber is {0}" , myNumber);

ShowDouble( ref myNumber);

Console .WriteLine( "myNumber is {0}" , myNumber);

}




* This source code was highlighted with Source Code Highlighter .








実験室作業5。 出力パラメーター

static int MaxValue( int [] intArray, out int maxIndex)

{

int maxVal = intArray[0];

maxIndex = 0;

for ( int i = 1; i < intArray.Length; i++)

{

if (intArray[i] > maxVal)

{

maxVal = intArray[i];

maxIndex = i;

}

}

return maxVal;

}



static void Main( string [] args)

{

int [] myArray = {1, 8, 3, 6, 2, 5, 9, 3, 0, 2};

int maxIndex;

Console .WriteLine( "Maximum value in myArray is {0}" , MaxValue(myArray, out maxIndex));

Console .WriteLine( "First index with max value in element {0}" , maxIndex + 1);

}




* This source code was highlighted with Source Code Highlighter .








実験室番号6。 可変範囲

static string myString;



static void Write()

{

string myString = "String defined in Write()" ;

Console .WriteLine( "Now in Write()" );

Console .WriteLine( "Local string myString = {0}" , myString);

Console .WriteLine( "Global string myString = {0}" , Program.myString);

}



static void Main( string [] args)

{

string myString = "String defined in Main()" ;

Program.myString = "Global string" ;

Write();

Console .WriteLine( "\nNow in Main()" );

Console .WriteLine( "Local string = {0}" , myString);

Console .WriteLine( "Global string myString = {0}" , Program.myString);

}




* This source code was highlighted with Source Code Highlighter .








実験室作業7。 コマンドライン引数

static void Main( string [] args)

{

Console .WriteLine( "{0} command line arguments were specified:" , args.Length);

foreach ( string arg in args)

{

Console .WriteLine(arg);

Console .ReadKey();

}

}




* This source code was highlighted with Source Code Highlighter .








実験室8番 構造体で関数を使用する

struct customerName

{

public string firstName, lastName;

public string Name()

{

return firstName + " " + lastName;

}

}



static void Main( string [] args)

{

customerName myCustomer;

myCustomer.firstName = "John" ;

myCustomer.lastName = "Franklin" ;

Console .WriteLine(myCustomer.Name());

}




* This source code was highlighted with Source Code Highlighter .








実験室番号9。 関数のオーバーロード

static int MaxValue( int [] intArray)

{

int maxVal = intArray[0];



for ( int i = 1; i < intArray.Length; i++)

{

if (intArray[i] > maxVal)

maxVal = intArray[i];

}

return maxVal;

}



static double MaxValue( double [] doubleArray)

{

double maxVal = doubleArray[0];



for ( int i = 1; i < doubleArray.Length; i++)

{

if (doubleArray[i] > maxVal)

maxVal = doubleArray[i];

}

return maxVal;

}



static void Main( string [] args)

{

int [] myIntArray = { 1, 8, 3, 6, 2, 5, 9, 3, 0, 2 };

double [] myDoubleArray = { 1.3, 8.6, 3.8, 6.1, 2.6, 5.8, 9.6, 3.4, 0.3, 2.1 };

int intVal = MaxValue(myIntArray);

double doubleVal = MaxValue(myDoubleArray);

Console .WriteLine( "The maximum value in myIntArray is {0}" , intVal);

Console .WriteLine( "The maximum value in myDoubleArray is {0}" , doubleVal);

}




* This source code was highlighted with Source Code Highlighter .








実験室作業10。 デリゲート

delegate double ProcessDelegate( double param1, double param2);

static double Multiply( double param1, double param2)

{

return param1 * param2;

}

static double Divide( double param1, double param2)

{

return param1/param2;

}



static void Main( string [] args)

{

ProcessDelegate process;

Console .WriteLine( "Enter 2 numbers separated with comma:" );

string input = Console .ReadLine();

int commaPos = input.IndexOf( ',' );

double param1 = Convert .ToDouble(input.Substring(0, commaPos));

double param2 = Convert .ToDouble(input.Substring(commaPos + 1, input.Length - commaPos - 1));

Console .WriteLine( "Enter M to multiply or D to divide:" );

input = Console .ReadLine();

process = input == "M" ? new ProcessDelegate(Multiply) : new ProcessDelegate(Divide);

Console .WriteLine( "Result: {0}" , process(param1, param2));

}




* This source code was highlighted with Source Code Highlighter .








日曜大工演習


1.以下の2つの機能にはエラーが含まれています。 それらに名前を付けます

static bool Write()

{

Console .WriteLine( "Text output from function." );

}

static void myFunction( string label, params int [] args, bool showLabel)

{

if (showLabel)

Console .WriteLine(label);

foreach ( int i in args)

{

Console .WriteLine( "{0}" , i);

}

}




* This source code was highlighted with Source Code Highlighter .








2. 2つのコマンドライン引数を使用して値をそれぞれ文字列変数と整数変数に入れ、それらの値を画面に表示するアプリケーションを作成します。



3.注文の合計価格を返す関数が含まれるように構造を変更します。

struct order

{

public string itemName;

public int unitCount;

public double unitCost;

}




* This source code was highlighted with Source Code Highlighter .








ご清聴ありがとうございました! Vimeoチャンネルと公式VKページを購読して、新しいビデオのリリースについて最初に知ってください。



All Articles