• No results found

Visual_Basic_to_C.pptx

N/A
N/A
Protected

Academic year: 2020

Share "Visual_Basic_to_C.pptx"

Copied!
40
0
0

Loading.... (view fulltext now)

Full text

(1)

C O M P U T E R P R O G R A M M I N G I I S U M M E R 2 0 1 1

(2)

Purpose

 This PowerPoint is for students that received

instruction in Computer Programming I using the Visual Basic language.

 Computer Programming II uses the C#

(3)

Essential Standard

 This PowerPoint reviews variables, decision making

statements, arrays, and methods (sub procedures).

Major differences between C# and VB are also covered.

 C# is very different from VB in one KEY way. All

statements MUST end with a semicolon (;). If you forget this, your code will not work. Exceptions: IF statements and loops

 The upside to this is two-fold:

 1. Multiple coding statements may be on the same line

 2. A long code segment can be spilt up without having to use an

(4)

Spacing C# Examples

 int intAge; string strName;

 Two different statements- same line

 Long line of code:

 string query = @"SELECT whatever

FROM tableName

WHERE column = 1";

(5)

Semicolon Exceptions

 Two exceptions to the semicolon rule:

if(x==b)  no semicolon here

It is a “clause” - only part of the statement {

y=7; semicolon as normal

}

while(x< i)  no semicolon here either – again it is a “clause”

{

intGradeTotal=intGrade; semicolon as normal

(6)

Declaring a Variable

 In VB we use the Dim keyword to declare a variable:

 Dim intAge as Integer

 C# handles this differently:

 int intAge;

 In C# use the following format:

 DataType variableName;

 All types are spelled out except integer (int) and

(7)

C# Examples

 string strName;

 char charGrade;

 int intAge;

(8)

Coding Blocks

In VB we use the End keyword to end coding blocks like

IF statements or loops.

If a = b Then b=c

End If

 In C#, we use braces so this code block would be written:

if(a==b)

{

b=c;

(9)

Equality Check (==)

 You might of noticed something on the last slide- a

== in the if statement.

 In VB the assignment operator and equality are the

same (=). This is NOT true in C#. The equals sign is solely used for assignment. To check for equality you must use ==.

 Using = in an if statement to check for equality is a

logic error. The code will run properly, but not

(10)

Increment Counters

In VB to add one to a counter we use varName += 1, for

two we use +=2 and so on. (i+=1)

 This shorthand works in C# as well, but C# provides an

additional way to add or subtract one from a counter. i++;

i--;

++ adds 1 to the value of i while -- subtracts one.

Remember the semicolon is required.

To count by 2, or another number, we use the same

(11)

IF Statements

 In C# we do not use THEN keyword as in VB. The comparison is enclosed in ( ) after the if keyword.

if (a < b)

{

Statements

}

(12)

IF..Then..Else Example

if(a > b) {

b=c; d= 7;

}

else

{

(13)

Else If

 C# handles multiple else if statements a little

differently as well. There is a space between else and if unlike in VB. As in VB there can be multiple else ifs and a else (default) if all statements are false.

if (a == b)

{c = 12;}

else if (a>b) {c=14;} else if (a < b) { c = 16; } else

(14)

If Statements in Assignment

Statements

 Like VB, C# supports an if statement in an

assignment statement. However the format is completely different:

string strName = (a < b) ? "less than 10" : "greater than 10";

(15)

And/Or & Short Circuiting

 In VB we use the And/Or keywords in

compound if statements.

 C#

 And = &  Or = |

 To short circuit the statement use && (and)

(16)

Examples

else if (number < 15 & number > 5)

 Using and

else if(number > 50 | number < 25)

 Usingor

else if (number < 15 && number > 5)

 Using short circuit and

else if(number > 50 || number < 25)

(17)

Select Case

The Select Case statement in VB do not exist in C#. Instead C# has

the switch keyword. This operates similarly to Select Case, but has some key differences. Let’s refresh our memory with an example:

Select case intGrades

Case 90 to 100

strGrade= “A”

Case 80 to 89

strGrade=“B”

Case 70 to 79

strGrade=“C”

Case 60 to 69

strGrade=“D”

Case Is < 60

strGrade=“F”

Else

Messagebox.show(“Please input a valid number!”)

(18)

Switch

switch(intGrades) {

case 10: case 9: strGrade="A"; break; case 8: strGrade="B"; break; case 7:

strGrade = "C";

break;

case 6:

strGrade="D";

break;

case 5: case 4: case 3: case 2: case 1: strGrade = "F";

break;

}

• Notice instead of using the To

keyword we can just assign multiple cases to a given statement.

The break; as the end of each

case is required or the

program will continue to read through the statements.

• There could be multiple true

cases in C# unlike VB which stops after finding ONE true case.

• Break prevents this which is

(19)

Switch 2

 If all cases are false and we want an action to

occur we use the default keyword:

switch (caseSwitch) {

case 1: Console.WriteLine("Case 1"); break; case 2: Console.WriteLine("Case 2"); break; default: Console.WriteLine("Default case"); break;

(20)

Select Case vs. Switch

 The C# Switch statement does not allow

ranges or comparisons like the Select Case statement in Visual Basic. It also does not allow Boolean comparison.

 This is one place where the VB

(21)

Loops

VB and C# each support the following loops:

 Do

 While

 For

 For each

In C# loops are written in the same syntax as an if

statement:

while (i< intNum) remember no semicolon on this line

{

Code to run in the loop;  semicolon at the end of each code

statement unless using a if statement

(22)

Loop Examples

while (i <= 50)//pretest loop

{

intResult = intResult + i; i++;

}

do {

intResult = intResult + i; i ++;

(23)

For Statements

 For statements are written completely differently in

C#:

for(i=0; i<=50; i++) {

intResult = intResult + i;

}

 VB:

For i as Integer = 0 to 50 intResult = intResult + i Next i

Modifier – increment or decrement

Condition Initializer

Initializer Condition

Modifier – increment or

(24)

Step Keyword

 In VB to count by a value other than 1 we use

the Step keyword. This is not supported in C#. To count by a value other than 1 we change the end of the statement.

 To count by 2’s upward for example:

for(i=0; i<=50; i+=2)

 To decrease by 2:

(25)

For each

 The for each loop is handled differently in C# as well.

foreach(int j in intArray) //no space {

lstGrades.Items.Add(j); }

VB:

(26)

Arrays

 In VB we use ( ) in array statements. In C# [ ] are

used instead.

Dim intArray = New Integer(4) {1, 2, 3, 4, 5} (VB)

 int[] intArray = new int[5] {1,2,3,4,5}; (C#)

 In VB we put in 1 less than the number of elements

we want in the array. This is NOT the case in C#. If we want five elements we use a 5.

(27)

C O M P U T E R P R O G R A M M I N G I S U M M E R 2 0 1 1

(28)

Breaking it Up

 As programs gets more complex- they

become longer and harder to debug or even figure out what exactly is going on.

 Functions, also called Methods, provide a

(29)

Declare a Method

 When you declare a method, you will follow a

specific formula for the method header

access_modifier return_type Name ()

 Access Modifier

 We will only use the public in this course.

 You can use private which would restrict use of the method.

 Return Type

 The return type will either be void, if there is no value

(30)

Declare a Method

 Method Header Example:

public void Signature() {

lblResult.Text = “Created by J Smith”;

}

 To use the method, you will “Call” it when

wanted.

(31)

Methods with Parameters

 Parameters provide information to a method

that is necessary to do its job.

 The method call provides the values – called

actual arguments.

 You will add the “formal arguments” or

“parameters” to the method header.

(32)

Methods with Parameters

Method:

public void Signature(string Name ) {

lblResult.Text = “Written by: ” + Name; }

Call:

Signature(strName);

 The arguments and parameters MUST match

(33)

Methods that Return a Value

 When you specify a return type you will add a

return statement.

 Method Header Example:

public string Signature() {

return “Created by J Smith”;

}

 Return data type and what is returned MUST

match.

(34)

Methods that Return a Value

 When a method returns a value, the method

call must be part of an assignment statement.

 Method Call Example:

(35)

Two Ways to Pass Arguments

 There are two ways to pass arguments.  Pass-by-Value

 Pass-by-Reference

 Pass-by-Value is how we passed the variable

(36)

Pass-By-Value

 This is the default way to pass arguments in

C#.

 A copy of the value is made and sent to the

method.

 Any changes are not passed back to the call.

 Think of this as a one way street; the value

(37)

Pass-By-Reference

 The method has the ability to access and

modify the original variable from the call.

 Reference-type variables store references to

objects.

 Think of it as sending the actual address of

(38)

Pass-By-Reference

 To pass a variable by reference use the keyword

ref.

 Apply the ref keyword to the parameter

declaration allows you to pass that variable by reference.

 The ref keyword is used for variables that already have been initialized in the calling method.

 It must be initialized, otherwise the compiler will generate

(39)

Pass-By-Reference

public void Calculate(int num1, ref int num2) {

num2 = num1 + 1; }

private void btnCalc_Click(object sender, EventArgs e) {

int n1 = 0; int n2 = 0;

Calculate(n1, ref n2);

lblResult.Text = n2.ToString(); //displays 1 in label

(40)

Conclusion

 This PowerPoint provided an overview of

creating methods in C#.

 Next step is to practice with sample

programs the skilled students have learned! The Unpacked Content will provide some

sample programs.

 For more information on this topic

 http://msdn.microsoft.com/en-us/library/aa645760(v=

References

Related documents

• 31-Day Wait For Second Or Subsequent Treatment: Anti Cancer Drug Treatments 98%. • 31-Day Wait For Second Or Subsequent Treatment:

We analyze how companies which have Total Quality Management (TQM) and implanting a Reverse Logistics System (RLS) improve their recovery activities and reusability of materials and

How batch files sequentially from windows setx command call statement in fact, statements of passing input defined parameter called program is.. Here the command line will it

The School District will award course credit for the CTAE course and course credit for the associated academic core course to students who successfully complete a course or

The new generic name Xenochodaeus is proposed for species with an elongate, subparallel sulcus on the propygidium and a longitudinally impressed mentum.. The genus contains

Variable Scope (Local vs. Global)  Pass‐By‐Copy Versus Pass‐by‐Reference  Defining and Invoking Functions  Creating Function Libraries   

rating system heads the ranking of the most used operating systems, it was proposed to design and develop a mobile application for the Android platform with which blind or with a

NHS England’s National Cancer Patient Experience Survey (CPES), run by Quality Health, provides insights into the care and treatment experienced by cancer patients in 155 NHS