SlideShare uma empresa Scribd logo
1 de 56
Baixar para ler offline
! "# $%&
' (( ) ) " * +") # " " " ", -) #
)) ' (( " " . ) / )
) 0 )" + " " 1 ) #". ) " 23. ) " $%&
0 )) " "# $ 4" " 5 6) ) $ 5
7 ) " )) ) ) 4
" $%& 8 " 8 )
4 "# $%& 9)) )) " : 0 ) " ) )
) #; ) 8 ) " 8 ! 4 )) )
) ) " . ) / ) "
• ! " * ") # ; ' ((<
$%& 8 " " ) ")
) # " ") =) ") ")
) " ) ") " ") ) # " " ) > "
) ) " " ) ") 4 " ) ?18
7 " ) " ", ) 7 ) # )
7 ) 9>8 9>8# ) =) ") ) ) "- ) " )
)) " )) )"
• & +"
% "0 ) @ (( " ) ) +") "
# ) )" # " ) " ) ) " ) ) " " ) +")
) # "0 ) 8) " A
• !B4 ) #"6 ) )") 0 )
#"6 )" 0 )) 0) 1 ") C ) ) # )
) D) " D ) " ) ) ) " 4
" 84 " 7 # " " " B
%4 ))C ) %4 " ) 7 ) ) 7 ) " " ) "
) &, -) #", 7 )) 0 ) )") . ) . )
) ) ) " ) )" )) " ) #"6
• ! ) ) )" "
" ) (( )) " # "0 "
(( )) " " D " ) 4 B
" " ?18 =E! ") =1 >88 7 7
" ! "# $%& " " "" +") 4)" ")
1 C ) ) B ) " ) $%& )) " 0
D " "
! " # $ ! % " $&$'(
! " D ) )) ) ) "# $%& " 4 "
))0 )" $ 5 >F 7 ) "
""<'' ) ) #" ' ') ) G H' ) -
# )'3I2'333'J2K' ) ) " 4
5 6) I333 99 9" "%4 LL) 7 ) )" )"
)! ! *! !
%) " M 5 <
using System;
class Hello{
public static void Main(){
Console.WriteLine("Hello World!!!");
}
}
> " B ) " "4" # " -
! 4 " " %4 "
" N )" 4 <
+ ! * , *! !
E ) ) C ) ) B E O) # )
)) ) ) " D ) " ) ) )) ) = )
" ") )) ) ) = " ) ) " "
)" )
-
= " " " 4 ) $ 4)"
# C ) ) )) 7 ) 0 4 " " )) " # )"0"
P ) )) " # " " ) ) 0 "
" " ) #
= " ) Q# )<
• " D <
• " " "<
•
• ") " ) , )" " D <
!"
• ") " ) , )" " " <
!"
, ! ! *! !
= )7 " ) " ) ) ) ) ") ) )
) 4 <
//Estrutura do programa em C#
using System;
namespace MathNamespace{
public class MathClass{
/*
Main
Exibe no prompt
*/
public static void Main(string[] args){
Math m = new Math();
Console.WriteLine(m.Sum(1,1));
}
//<summary>Classe Math</summary>
public class Math:Object{
public int Sum(int a, int b){
return (a+b);
}
}
}
}
E )" " ) ) 7 ) " <
• $ ) )R
• & ) - )) ) )" " ) " # ) C ) )R
• 1 ) S )" ") ) " ) ) 4 ) ")
) )" " )R
• = " ) - " ) )" C )
$ )" " ) 7 ) " )" ) ) )" " &
# )" )) $ 5 >F 7 " $%& 6 A ) )
) P " # " 4 "
) ! ! . /
""<'' ) ) #" ' ,' # " ) GP 8H' ,'6 ' ) ) ' 32I3I3
33 "
""<'' ) ) #" ' )" ' 4" ' # " )
""<''666 ) #" ' "' # " )
""<'' ) ) #" ' )' ) 3NNTI33N )
0 1 *
" ) " ) " ) ) 0)
%)) ) " ) ) ) " ) " ) # " ) ) ) " )
" " ) " D ) " # #
0 ) :" ) C ) " ) C ) E " N ) " )
" ) 0) ) # ) + " " ) " ) )
$%& 6 A $%&&, ) % " ) ) )) ) "
8 " 8 4 # -) $ %&
1 1 * *!
! "
" #$ $ %
& ' &"'
! ( ))) *
+ #$ $ %
,+& ' - *
, & ' -
$ ( )))-
#$ $ %
, &+ ' *+
,-&*' -
- - * * - * * * - *
$ * * ."& -&- &- &+*& +&
"& -&- &- &+*& +&
/ 0 / 0
++
- & - &
$ $ $
- - *&"*&" &"+
$ * * &** &**& -& "&++ & +
+&+-+
1 * 2 ! 1 * 3 4!5
=) " ) ) ) ) U " )<
• ' 7 ) ) R
• ' ( ) ( 7 ) ) * R
• ' 7 ) " ) 7 ) " D )
B ) ) #
' D ) B 7 " ( ) D
# : " $ " " ( ) ))
" " " ) ) )) " (( E #
N 4 B ) " ) ) ) ) ( )
+ ! 0 1 * 2 ! 1 * 3 4!5
V " D ) 0 ( ) )" ) )) )
" " ) ) # " ) "0 7
" )) " " ) "O > " )) ) ) 7
0 ) # # ) 0
( ) )) )) * 0 W
) )) " ) " $ " )) *
0# " 4 " B )
! " " " D 0 ) ) ) ) 7 ) ) "
" # )
= B 4 )" ) " ) " ) " )<
//Tipo valor
int x = 10;
//Tipo referência
int y = new int(10);
$ ) " ) ) 8 $%&&, ) " ) " D ) B
4 )) # B " 4 " ) "0" <
//Tipo valor
System.Int32 x = 10;
//Tipo referência
System.Int32 y = new System.Int32(10);
! ) 0 ) < * (
* * > ) ) " )
+, E )"0 )) # )" " ) # ) ) 0
)" " ) ) ) # ) ) ) ) ) ) 0 )
7 <
• E 0 " " " R
• E 0 )) " 7 7 " " R
• E 0 )) " ) " " R
• E 0 ) 0 )) # 7X " " W " " " ) 9))
" 0 B " ) ) 7 " D
#
= ) + ) " 7 0 )) +" ! " ) )
" ) ) ) -) 0 ) ( ) < ( -
= 7 ) ) $%& 6 A 7 " "
( ) ) " " . - / # " " 0 )
7 ) ) 0 '
# # " )) ) 0 ) )
D 3 7 " ) ( ) )) " = ))
0 D ( ) 4 )) "
1 2 ( 34
!6 7 *8
)C ) ; ") " " C ) 0 ) ))
W " ) ) " ) %)) ) )C ) ) #" ) " 0" " 7 0
)) " )# ) )") # " ) 4 ; " "
//extraindo um valor int de long
int x;
long y = 10;
x = y;
E " I + 0 ) " 0 )C ) O ) ; ")
1 0 !6 9 ! 7 *8 * !
$
$
!6 , *8 % &
V 0 ) ) N" ) 0) " D
" )# " ) +
7 4" " " " )
) " " 4 = "
) " 7 " " )) %)" )
" " " ) 4 4
//extraindo um valor int de long
int x;
long y = 10;
x =(int)y;
//extraindo um valor System.Int32 de System.Int64
System.Int32 x;
System.Int64 y = 10;
x = (System.Int32)y;
$ ) 4 ) #" ) O" ) ) 4" -)
" " = 7 ) ) " "
) )C ) ; ") 7 " ) 4 ; ") # 4 ) )
" "" " 4 > ) " N )
)) # 4 )" " ) 0 ) )" " ! )" "
0 " " D ! 4 <
class Casts{
public static void Main(){
int x;
long y=10;
//Cast consistente
x=(int)y;
System.Console.WriteLine("Cast consistente int x={0} long y={1}",x,y);
//Cast inconsistente
y=2147483648;
x=(int)y;
System.Console.WriteLine("Cast inconsistente int x={0} long y={1}",x,y);
}
}
! 4 " " %4 "
" E I )" 4
+ ! : * , *
E " U + 0 ) " 0 )C ) O ) 4 ; ")
1 : !6 9 ! , *8 * !
1 $
$
, ! ! %$! & % &
% )" " )" " ) " " 7 " )) ))
) " " ( ) E ) ) ) ) "
)" " ) )" ") ) ( " ) *
) 4 ) 4 ) " )
) 1 ) ) )" " ) ": ) " ) ) )
" ) # : ) " ) ) " ) )" " ) "D )
" * ) )" ")
using System;
//Classe
public class MyClassRect{
//Campos
public uint x, y;
//Calculo da área do retângulo
public ulong Area(){ return x*y; }
}
//Estrutura
public struct MyStructRect{
//Campos
public uint x, y;
//Calculo da área do retângulo
public ulong Area(){ return x*y; }
}
class MainClass{
public static void Main(){
MyClassRect cl = new MyClassRect(); //alocado na heap
MyStructRect st; //alocado na stack
cl.x = 10;
cl.y = 5;
st.x = 10;
st.y = 5;
Console.WriteLine("Classe - {0} m X {1} m = {2} m²" ,cl.x,cl.y,cl.Area());
Console.WriteLine("Estrutura - {0} m X {1} m = {2} m²",st.x,st.y,st.Area());
}
}
! 4 " " 5 %4 "
" 5 E U )" 4
+ ! ; * , * <$!
= >
> # " " ) ) " * +") 4
6 " +") " ) " " ) )
" D )" ) 4 4
7 4 ) ( ) 4 ))
"0 )" ) ) + 4" -) "O ( )
0 ' " )C ) 4 ; ") ) ) " )
4
//Boxing
int x = 12345;
object o = x;
//Unboxing
x = (int)o;
=) " ) ) ) 0 ' ) ) 8 )
" ) )" " " $ %& $%&
6 A >F 4 V 0 " D ) )
" B " " ) )) 0 ) #
4 ) ) 0 * ) 0 ) " * 4 ))
+" 0 ' +" . - ;D " ) +") $%&
6 A E # Q 4 )" 4 " 7 " )
) # )< 4 4
+ ! ? 3 *! @! !A 4!
= 7 # )) ) 7 4 ) " "
" 0" " ) + ; " 4 " " -)
+" - ) " - 9:&%;< )" ) :&%;< " "
" $ " " # 4 " " " 4 ; " 7 4 9
)) 7 ) " - " # 4
" ) ) 4 ; " ) +-) " # 4 )
)) 4 0) " " ) ;# ) "0
4 )) $ 34 ) 0 ) )" " 0
) )" ) = B 4 )" )) <
long l = 12345;
object o = (long)l;
//Unboxing inconsistente
int i = (int)o; //excessão InvalidCastException
4 <
long l = 12345;
object o = (long)l;
//Unboxing consistente
int i = (int)(long)o;
P " # " D ) )C ) "0 ) " ) ) ) )
) + " "O 0 )); ) # #
" ) ) + 0 " "
4 " " " D ' $ =; :&%;<' $ =; " -)
" = B " ) ) " <
object o = 12345.ToInt64(); //Valor tratado na forma boxing
//Unboxing consistente
int i = (int)(long)o;
> " $%& 6 A ) " D ) "
)) )" # " 0 ) " ) ) )) ) " ) )
" " ) " +") # # L % " 7 ") 4 )
4 " ) 4 G
long l = 1000;
int i = 500;
Console.WriteLine(“{0} {1} {2} {3} {4} {5}”,l,i,i,l,l,i);
+ ! B > * C " !
))0 ) K 4 O" 0 ) " "
+" = )) 4 ) B " 4 !P " "
B # " " ) " <
long l = 1000;
int i = 500;
object ol = l;
object oi = i;
Console.WriteLine(“{0} {1} {2} {3} {4} {5}”,ol,oi,oi,ol,ol,oi);
$ )" ) O 4 D I %)" " ) 0)
" " # B ) " ) "
)) " ) ) ) )
$ )" " ) " " " " D ) " )
) ) " " ) " ) # " ) @ " " #
" 4 4 7 " D " )"
B "# $%& / ) ) # : " D ))
)
/
""<'' ) ) #" ' ) ' )) )'NI33' " "' " "NI33 )
""<'' ) ) #" ' )" ' 4" ' # " )
""<''666 ) #" ' "' # " )
""<'' ) ) #" ' )' ) 3INLI33N )
""<'' ) ) #" ' "'
""<'' " " " '
:
)) ) " # 4 7 #
) B )) " E # 7 ) ) ) " " ) )
*) " ) ! " " ) 7 : )" "
" * +") 4 " " ) + )"
)" $ )" )) =) ) ) )
)) # ) <
• >
• B" 8
• > ) @
•
• 9" 8
E )") ) # ) ) )
((
%)") ) ) " ) " # ) =
) ) " ) YZ $ " " "
" D )" C ) (( 6* "
" )
//Comando isolado
if(a==true) System.Console.Write("Verdadeiro");
//Bloco de comandos
{
int x = 100;
int y = 200;
int z = x + y;
}
P " ) )" C ) & ) ) )
" ) # D " ; R
//Vários comandos em uma única linha
while(a<=100) if(b==true) a++;
P " D " 0
//Loop infinito sem comando ou comando vazio
for( ; ; ) ;
//Loop infinito com comando. Último ponto e vírgula representa o finalizador
for( ; ; ) System.Console.Write("C# é legal");
' !
9 ) ) " D 4 )" E) C ) ) 0 )
)" ") # C ) " ) ) )
! 0 )" ) # " ) " E #
)" " ) # 7 0 #4 -
"B " ) #4 ) H ) E "
0 7 7 " " ) #
" " )" " ) " " 0 0
" " 4 P 0 )" " " ) ) +
) " ! 4 0 4 4 )
" D " " # # $ )" ) ) " D " )
" # " 0 ) ) =) )
) ) ) )) & ) ) 0 ) )" ") " ) ))
" ) " D ) " )) " ! )
) )) " )" " " ) " * +") " )
) " ) ) ) ) " ) 4" ) /
= 4 4 )" ) ) ) ) ) ) <
using System;
class Declares{
private static int f = 1000, g; //Variáveis de escopo de classe
private const int m = 1000, n = 10000; //Constantes de escopo de classe
public static void Main(){
//Constantes de escopo local
const int x = 10;
const long y = 100;
//Variáveis de escopo local
int a = 10;
long b;
b = 100;
g = 10000;
printf(x,y,a,b);
}
//Função
private static void printf(int ix, long ly, int ia, long lb){
Console.WriteLine("Locaisnconstantes: x={0} y={1} váriaveis: a={2}
b={3}",ix,ly,ia,lb);
Console.WriteLine("Classenconstantes: m={0} n={1} váriaveis: f={2}
g={3}",m,n,f,g);
}
}
! 4 " " > %4 "
" > E N )" 4
+ ! D * , * ' !
E) C ) 0 ) )" ") ) " ) # ") )
int x;
int y;
int z = 10;
! ) ) 7 <
int x, y, z = 10;
) 0 ) )" ") ) " " ) )
4" 7 7 ) ) " ) 0 " D . 0 ) )" ")
" ) ) )) ) ) " " 0
)" #" ! ) ) " ) )
) ) ) # ") = #" ) " ) )
# C ) " ) ) )
class MyClass{
private int x = 10;
private int MyFunction(){
int x = 100;
System.Console.Write(x); //Exibe o valor 100
}
private int MyFunction2(){ System.Console.Write(x); //Exibe o valor 10 }
}
3@ % &
> ) " ) B" ) ) ) # ) ) ) )); 1 )
O # B" ) 0 B
7 ) ) " " ) 1 ) 7 " )" "
0" ) 0 ) " ; )
) 7
using System;
class Jumps{
public static void Main(){
bool a = true;
goto mylabel;
//Este comando não será executado
if(a==true){
Console.Write("Verdadeiro");
goto end;
}
mylabel:
Console.Write("Falso");
//o label é sempre seguido por um comando, neste caso um comando vazio
end:;
}
}
' %E *&
=) ) ) ) < 8 * 6 / ) " )
# ) 4 B " D
E ) ) ) ) )") )"
# " # " 7
6 * 7 ) ) " = ) ) " 4 "
) B " ) B" %)" ) ) # 6 4
# 4
//Loop infinito
endless:
goto endless;
= " D ) # "
$ )" ) )) " " "
)) " % ) # C ) 7 "
0) " ) " ) ) 0) " #
# =) 4 4 ) ) ) ) )<
ong z = Sum(10,20);
//continuação do programa...
private static long Sum(int x, int y){
//Soma os valores e retorna um long
return x+y;
}
private static bool boolFromint(int a){
//Verifica se o valor do inteiro é 0 e retorna false, senão retorna true
if(a==0)
return false;
else
return true;
}
private static void printf(string s){
//Imprime a string e retorna logo em seguida, cláusula return omitida
System.Console.Write(s);
}
= * 6 " D D 4 ) " " "
4 *
private static double Division(int x, int y){
//Se o divisor for zero disparar a excessão da BCL DivideByZeroException
if(y==0) throw new DivideByZeroException();
return x/y;
}
=) ) 8 ) " D ) ) ) " 6 * 6*
( ( * = 8 " 4 )") )
)) B4 )" 4 = "0
8 )) B4 " # )") )
int b=0;
for(int a = 0; a < 100; ++a){
//Loop infinito
while(true){
if (++b==100) break; //Se b igual a 100, o break força a saída do loop while
}
b=0;
continue; //Passa para próxima iteração do comando for
System.Console.Write("a={0} b={1}",a,b); //Esta linha não é executada
}
//Continuação após o bloco for...
$
=) ) ) ) " D ) ) )) " )
)); ) =) ) ( 6 *#D " )"
= ( " D 4 )) 4 ))C ) 4 "
) E 0 ) " D ( " " )
) )C ) ) ) C )
//if com uma única possibilidade. Exibe a string "Verdadeiro" no Console caso a
//expressão (a==true) seja verdadeira
if(a==true) System.Console.Write("Verdadeiro");
//if com uma única possibilidade. Exibe a string "Verdadeiro" no Console caso a
//expressão (a==true) seja verdadeira, senão exibe a string "Falso"
if(a==true)
System.Console.Write("Verdadeiro");
else
System.Console.Write("Falso");
& 4 )) ( ) " : ") ) )) "
# * # 9)" 7 D 7 ) 4 )) )" ?
@@ # ) 0 ) ( ( ) )" ")
) ) ) %)" " 0 " ) 4 ))C ) ) ! 4 <
//&& (And). Somente a primeira função é executada
if(MyFunc() && MyFunc2());
//|| (Or). Ambas funções são executadas
if(MyFunc() || MyFunc2());
public static bool MyFunc(){ return false; }
public static bool MyFunc2(){ return true; }
E)) " ) ) = (" ) " #
if(x==1)
if(y==100)
if(z==1000)
System.Console.Write("OK");
! " ;)" "- " ) 4 ))C ) ) )
) ) ") <
if(x==1 && y==100 && z==1000) System.Console.Write("OK");
= (" ) " # " ) (# # (7 4)"
) 7 ) )) ) ! )") ) ) ) ) 4 ))C )
# )") " D # C ) 0 ) 6 *) )"" )" "
)"
using System;
class Ifs{
public static void Main(){
char chOpt;
Console.WriteLine("1-Inserir");
Console.WriteLine("2-Atualizar");
Console.WriteLine("3-Apagar");
Console.WriteLine("4-Procurar");
Console.Write("Escolha entre [1] a [4]:");
//Verifica se os valores entrados esta entre 1 e 4
//caso contrário pede reentrada
do{
chOpt = (char)Console.Read();
}while(chOpt<'1' || chOpt>'4');
if(chOpt=='1'){
Console.WriteLine("Inserir...");
//InsertFunction();
}
else if(chOpt=='2'){
Console.WriteLine("Atualizar...");
//UpdateFunction();
}
else if(chOpt=='3'){
Console.WriteLine("Apagar...");
//DeleteFunction();
}
else{
Console.WriteLine("Procurar...");
//FindFunction();
}
}
= ( 0 ) O ) " ) # D
" 0 ) " " G< [ " 0
)) U 4 ))C )< # -) ) )
" ) # )
int x;
if(f==true)
x = 100;
else
x = 1000;
E) ) ) ) )""; ) <
int x = f==true?100:1000;
= 6 * " D " 4 )) " )" )
)" ") 4 ) ) =) )" " " " " )
0 ) )" ) O " E 0 ) ( " D
7 7 ) " " = 4 4 " )
6 * 4 " )" (<
using System;
class Switchs{
public static void Main(){
char chOpt;
Console.WriteLine("1-Inserir");
Console.WriteLine("2-Atualizar");
Console.WriteLine("3-Apagar");
Console.WriteLine("4-Procurar");
Console.Write("Escolha entre [1] a [4]:");
//Verifica se os valores entrados esta entre 1 e 4
//caso contrário pede reentrada
do{
chOpt = (char)Console.Read();
}while(chOpt<'1' || chOpt>'4');
switch(chOpt){
case '1':
Console.WriteLine("Inserir...");
//InsertFunction();
break;
case '2':
Console.WriteLine("Atualizar...");
//UpdateFunction();
break;
case '3':
Console.WriteLine("Apagar...");
//DeleteFunction();
break;
default:
Console.WriteLine("Procurar...");
//FindFunction();
}
}
! 4 " " 6 * %4 "
" 6 * E I )" 4
+ ! F * , * $#
$ " " 6 * ) " ;)" ) ) ((
0 ) # ) 8/ )) ) " )
0 ) ) ) )) ) 8 ) # " ( * *
) " " ) 7 0 ) B ) )" ") )
6 */ 0) " D P ) 0 ) ) )
" ) ) " 7 ) 7 "
) = 4 4 ) " )) <
switch(sProduct){
case “Windows 2000”:
case “Windows NT”:
System.Console.Write(“Sistema Operacional”);
break;
case “MSDE”:
System.Console.Write(“Mecanismo Simplificado”);
goto case “SQL Server”;
case “SQL Server”:
System.Console.Write(“Banco de Dados”);
}
E)) ( )); " 6 * ) #
switch(x){
case 10:
switch(y){
case 100:
case 1000:
}
break;
case 100:
break;
}
7 ! *
) ) ) " 4 " " "
) " " %)"
) - # # " % #D " ) ) " <
6* ( ( *
= ( )) U C ) ) ) ) " ; R " )
: ") )< D " % W " ) 4 ))
) " ) ;
for(int x=0; x < 100; ++x) System.Console.WriteLine(x);
for(;;) System.Console.WriteLine(“Hello, World!”);
for(int y=100, int x = 0; x < y; ++x, --y) System.Console.WriteLine(y);
V 0 ) ( )) D ) ) " 4 ))
4 ))C ) D ) 4 " ) 7 ) )" ) ")
)" )) ) D )" ) " ) 0
) "0 ( )) $ )
" # ) )) ) ) 4 " )
) # " " )) "
" )) %)" # 4 " " " 7
) + # ) ( 8) +
" )" " " = # "
using System;
class Fibonacci{
public static void Main(){
int iVezes;
Console.Write("Entre de 1 a 100 para o n° de elementos a exibir na sequência
de Fibonacci:");
//Verifica se os valores entrados esta entre 1 e 100
//caso contrário pede reentrada
do{
iVezes = Console.ReadLine().ToInt32();
}while(iVezes<1 || iVezes>100);
//Cria o vetor dinâmicamente
int[] iSeq = new int[iVezes];
iSeq[0] = 1;
//Preenche o vetor
if(iVezes > 1){
iSeq[1] = 1;
for(int a=2; a < iVezes; ++a)
iSeq[a] = iSeq[a-1] + iSeq[a-2];
}
//Exibe o vetor
for(int a=0; a < iVezes; ++a){
Console.Write(iSeq[a]);
Console.Write(" ");
}
}
}
! 4 " " A %4 "
" A E U )" 4
+ ! G * , * +
= ( * ) ") = B 4 "
# 4 " <
using System;
class Fibonacci{
public static void Main(){
int iVezes;
Console.Write("Entre de 1 a 100 para o n° de elementos a exibir na sequência
de Fibonacci:");
//Verifica se os valores entrados esta entre 1 e 100
//caso contrário pede reentrada
do{
iVezes = Console.ReadLine().ToInt32();
}while(iVezes<1 || iVezes>100);
//Cria o vetor dinâmicamente
int[] iSeq = new int[iVezes];
iSeq[0] = 1;
//Preenche o vetor
if(iVezes > 1){
iSeq[1] = 1;
for(int a=2; a < iVezes; ++a)
iSeq[a] = iSeq[a-1] + iSeq[a-2];
}
//Exibe o vetor
foreach(int a in iSeq){
Console.Write(a);
Console.Write(" ");
}
}
}
=) " ) )) ? $%& 6 A "
" # $3 7 )) " B 3 7 " " #
$3 7 )) U )< 7 " +" "
" 1 4 7 B4 " " 2 7 D
) " " " V 7 " # )) 7 "
$3 $3 " D ( *
= ( * " ) 7 : 4 <
System.Collections.IEnumerator ienumSeq = iSeq.GetEnumerator();
while(ienumSeq.MoveNext()){
System.Console.WriteLine(ienumSeq.Current);
}
foreach(int a in iSeq){
System.Console.WriteLine(a);
}
=) ) 6* ": " ;)" ) ) ") E ) 4 "
" ) $ " " )
4 " ) D) 6* ) 4 " )
D) )" 7 4 )) " #
int a = 0;
bool f = true;
while(f){
if(++a==100) f = true;
System.Console.WriteLine(a);
}
int a = 0;
bool f = true;
do{
if(++a==100) f = true;
System.Console.WriteLine(a);
} while(f);
E)) ) ) ( ( * ) 0 ) ) 8 )
" D ) " # # 4 4
!
= " ) ) # ) )" ") ) ) " ) " )
" " ) < * ( * 8 * 8 ( (4 8
=) ) * ( ) " D ) " " " " 4
" 4
using System;
class try_catch_finally{
public static void Main(){
try{
Console.WriteLine("Bloco try");
throw new NullReferenceException();
}
catch(DivideByZeroException e){
Console.WriteLine("Bloco catch #1. Mensagem: {0}",e.Message);
}
catch(NullReferenceException e){
Console.WriteLine("Bloco catch #2. Mensagem: {0}",e.Message);
}
catch(Exception e){
Console.WriteLine("Bloco catch #3. Mensagem: {0}",e.Message);
}
finally{
Console.WriteLine("Bloco finally");
}
}
}
=) ) * 8 * 8 " " ( 6 " " = * 8
) 4 . ( 634 * 8 " = W "
' * 8 ( " " ( 6 * 8 W " ' * 8 -
" " ( 6 * 8 )" ) ) #
using System;
class Overflows{
public static void Main(){
try{
short a = 32767;
short b = (short)(a + 1);
Console.Write("{1} + 1 = {0}",b,a);
}
catch(OverflowException e){
Console.WriteLine("Mensagem: {0}",e.Message);
}
}
}
! 4 " " * 8 C . ( 6
* 8 %4 " " . ( 6 > ) " "
* 8 # . ( 6 * 8 %4 " "
. ( 6 E Q )" ) C ) 4 C )
+ ! H * 6 , 6 * !4 #
=) ) * 8 * 8 ) " D ) " "
) #
using System;
class Overflows2{
public static void Main(){
try{
short a = 32767;
short b = unchecked((short)(a + 1));
Console.WriteLine("unchecked: {1} + 1 = {0}",b,a);
short c = 32767;
short d = checked((short)(c + 1));
Console.WriteLine("checked: {1} + 1 = {0}",d,c);
}
catch(OverflowException e){
Console.WriteLine("checked: Mensagem - {0}",e.Message);
}
}
}
=) ) ( (4 " D " ) = W " ((
" " B " " " " " ) ! 4 <
using System;
class Pointers{
unsafe public static void Process(int[] a){
fixed(int* pa = a){
for(int i=0;i<a.Length;++i)
Console.Write("{0} ",*(pa+i));
}
}
public static void Main(){
int[] arr = {1,2,3,4,5,6,7,8,9,0};
unsafe Process(arr);
}
}
= 8 " D 7 )) ) " "
"
using System;
using System.Threading;
class Locks{
static int x=0;
public static void ThreadProc(){
lock(typeof(Locks)){
x++;
}
Console.WriteLine("x = {0}",x);
}
public static void Main(){
for(int a=0; a<10; ++a){
Thread t = new Thread(new ThreadStart(ThreadProc));
t.Start();
}
}
}
$ )" " ) ) " ) ) ) # 4
) " ) " D ) =) ) B" )
) " " ) ) ) ) 4 ) = " ) C )
) )) ) $%& 6 A) ) )
/
""<'' ) ) #" ' )" ' 4" ' # " )
""<''666 ) #" ' "' # " )
""<'' ) ) #" ' "'
""<'' " " " '
; * ! !
" ) %)") ) " ) ); ) )
" D ) )" 4 ))C ) E ) "4 4 )) ) ) "4
(( =) ) ) " D ) ) ) # ) E " N
) " )) ) )C )
1 ; * ! !
2 3 456
17$ 8 9 : ; < = >? ;; <<
@A $
BB CC
D EE >E B C BE CE
2 @A E E E 4E 5E 6E ;E <E =E BBE CCE
2
F @A GH
8:
IJ
! $ 8 @A @A :
@A 0 9
@A K L K
F A % 9 M M
@A @ 4 C GH;
V 4 )) )) O" ) C ) : ) )
) ) $ " ) 4 ))C ) ) )
)7 " 4 " C ) "
: ) " " ) ) ") )
x = 10 + 100 * 1000 // x = 100010
x = (10 + 100) * 1000 // x = 110000
E " I 4 ) )
:
1 ? )! 5 * ! !
N O 8F: F 8F: GFHF FP 9 K L M M
O >? F.F8Q:F
R K % 456
2 %
BB CC
D B C BE CEB C BE CE
K @A EE >E
17$ 2S! ;
17$ T/D =
17$ /D <
2S! ;;
/D <<
IJ
2 @A E 4E 5E 6E E E BBE CCE ;E =E <E
* ! ! I! C
=) ) " " ) ) " D ) ) 4 ))C ) 4
0 ) $ 4 )) ) D ) " ) # # 4 ) $ )"
) 4 )) . ( 634 " " )" " "
) " * 8 " ) =) "B ) 4
) ) ) 7 )) ) ) ) " D )<
• = # 6 C ) " " ) " ) 4
. ( 634 ) " " ) ) # " ) " R
• > ) D C ) " " ) " ) ) 4
> 7 D 34 R
• = C ) " " ) ) " # " " ) ) ) "
# " " 9%%%2LQ " " # 6 ) D 4 % )
) ) " ) # " 1 1 1 1 R
• = # 6 C ) " " ) ) ) 4 ))
. ( 634 R
• > ) D C ) " " ) ) ) 4 ))
> 7 D 34 R
=) ) 0 ) ( S ) " D ) ) " ) O ) "
" ) " "
x = +1000 // x = 1000
x = -1000 // x = -1000
=) ) 0 ) ( -  ' ] ) " D ) ) 4 ))C ) 4
0 ) " ) ) ) " " ) ) = 0 (
7 " D " )" ) ) " " $ " " 7 4)"
)" ) O ) 4 )) )"# 4 "
" " " = 0 ] " " ) #B
E F =) 4 ) 4 )" )) ) C )
string x = “Hello” + “World” // x = ”HelloWorld”
string x = “Valor = ” + 100 // x = ”Valor = 100”
int x = 1000 % 11 // x = 10
int x = 1000 – ( 1000 / 11 ) * 11 // x = 10
= B 4 " D ) ) " " ) $ " " D "
") " ) = ",- "1 " ) )) "
)" ) W " = " * " O W " ) ))
4 "0 " " W " ) " ;
D 4 !G"E 0 - " " )"
) " <
using System;
class Arithmetics{
public static void Main(string[] args){
//Verifica o número de argumentos entrados
if(args.Length == 3){
int x=0,y=0;
//Convertem os valores dos argumentos 2 e 3 para inteiro 32-bit
//Se ocorrer algum erro o modo de utilização
try{
x = args[1].ToInt32();
y = args[2].ToInt32();
}
catch{
usage();
return;
}
//Efetua a operação selecionada no primeiro argumento
switch(args[0]){
case "+":
Console.Write("Valor da soma = {0}", x+y);
break;
case "-":
Console.Write("Valor da subtração = {0}", x-y);
break;
case "/":
Console.Write("Valor da divisão = {0}", x/y);
break;
case "*":
Console.Write("Valor da multiplicação = {0}", x*y);
break;
case "%":
Console.Write("Valor da sobra = {0}", x%y);
break;
default:
usage();
}
else{
usage();
}
}
public static void usage(){
//Modo de utilização
Console.WriteLine("Modo de usar: Arithmetics operador valor1 valor2");
Console.WriteLine("Ex.: Arithmetics + 100 200");
}
}
! 4 " " ? * %4 "
" ? * : & 4 ? * C :GG&GG E N
)" 4
+ ! * , * I!
* ! ! $ 4
=) ) ^^ __ 4 " * )7 * " ) " "
V ^^ " D " ) ) # " ) " " )
) # " D V __ " D C )
" ) ) # " ) " " ) ) # " D
) " ) ) # " ) " " ) ) # "
D ) # ) " ) # " E) 4 ))C ) 7 " D )) )
) " D " " O
Console.WriteLine(1 << 2); // 4 -> 1 representa 001 4 representa 100
Console.WriteLine(4 >> 2); // 1
Console.WriteLine(-1 << 2); // -4
Console.WriteLine(-4 >> 2); // -1
Console.WriteLine(1 << 32); // 1 -> 1 (int) inteiro 32-bit
Console.WriteLine(1L << 32); // 4294967296 -> 1 (long) inteiro 64-bit
* ! ! 7 ! ' !
=) ) (( -- " ) " = "
7 ) # " D * )7 0 ) + #4
) " ; ") ) " D
int x = 1000; // x = 1000
x++; // x = 1001
int y = x++; // x = 1002 , y = 1001
x--; // x = 1001
y = --x; // x = 1000 , y = 1000
++x; // x = 1001
--x; // x = 1000
y = ++x; // x = 1001 , y = 1001
* ! ! @ J3
%)) ) ) ) " D ) 4 ))C ) ) " "
" ;)"
= ` " "
bool x = true
bool y = !x // y = false
if(!y) System.Console.Write("y é verdadeiro")
=) ) ) HH `H ^ _ ^H _H ) "
) " , (
) " " ! 4 99 7 D ) # )" "" " 0
4 )) " ) " ) " ) * " " )
! " " ) ) HH `H) # ) 7 " D "
( ! )" ")
) " ) ) ) )" " ! )) ) #"
# : )) = O ( 7
# : )" )) ,)" " ) ) ) HH `H)
) ) E ) " " " ) )
using System;
class CX{
public int x;
public int y;
int m_z;
public int z{
set{ m_z = value; }
get{ return m_z; }
}
}
struct SX{
public int x;
public int y;
}
class CompareTypes{
public static void Main(){
CX cx1 = new CX();
CX cx2 = new CX();
SX sx1, sx2;
sx2.x = sx1.x = cx2.x = cx1.x = 100;
sx2.y = sx1.y = cx2.y = cx1.y = 200;
cx2.z = cx1.z = 300;
//Comparando tipos primitivos
Console.WriteLine("nTipos Primitivos");
if(sx1.x==sx2.x)
Console.WriteLine("sx1.x é igual a sx2.x");
else
Console.WriteLine("sx1.x é diferente de sx2.x");
if(cx1.y==cx2.y)
Console.WriteLine("cx1.y é igual a cx2.y");
else
Console.WriteLine("cx1.y é diferente de cx2.y");
if(sx1.x>=sx1.y)
Console.WriteLine("sx1.x é maior ou igual a sx1.y");
else
Console.WriteLine("sx1.x é menor que sx1.y");
if(cx1.x<=cx1.y)
Console.WriteLine("cx1.x é menor ou igual a cx1.y");
else
Console.WriteLine("cx1.x é maior que cx1.y");
if(sx1.x>sx1.y)
Console.WriteLine("sx1.x é maior que sx1.y");
else
Console.WriteLine("sx1.x é menor ou igual a sx1.y");
if(cx1.x<cx1.y)
Console.WriteLine("cx1.x é menor que cx1.y");
else
Console.WriteLine("cx1.x é maior ou igual a cx1.y");
if(sx1.x!=sx1.y)
Console.WriteLine("sx1.x é diferente a sx1.y");
else
Console.WriteLine("sx1.x é igual a sx1.y");
//Comparando classes
Console.WriteLine("nClasses");
if(cx1==cx2)
Console.WriteLine("cx1 é igual a cx2");
else
Console.WriteLine("cx1 é diferente de cx2");
cx2 = cx1;
if(cx1==cx2)
Console.WriteLine("cx1 é igual a cx2");
else
Console.WriteLine("cx1 é diferente de cx2");
//Comparando structs
Console.WriteLine("nStructs");
if((sx1.x==sx2.x) && (sx1.y==sx2.y))
Console.WriteLine("sx1 é igual a sx2");
else
Console.WriteLine("sx1 é diferente de sx2");
}
}
=) ) B ) a bc d aa bb ( ) " ) C ) "- - "
E$> "- - "= "- - "?= "- - "$=& E$> = # ) =)
) aa bb )) # " "- " 4 )) = # "
"- " ) D )" " 4 )) 7 E$>
" # ) = "
true & false // false
0x1 & 0x10 // 0x0
true | false // true
0x1 & 0x10 // 0x11
false ^ true // false
0x1 ^ 0x10 // 0x11
~0x000000ff // 0xffffff00
int x = 10, y = 100;
//A primeira avaliação (x==100) retorna false portanto o restante é desprezado
if(x==100 && y==10) System.Console.Write("Verdadeiro");
//A primeira avaliação (x==10) retorna true portanto o restante é desprezado
if(x==10 || y==100) System.Console.Write("Verdadeiro");
* ! ! I !
%)") ) ) " ) ) )") ) " D ) )
0 = H ) " " ) ) ) + 0
)7 " 0 ) "
4 )) "
int x = 10;
int y = x;
int z = x + y;
=) ) (H -H H 'H ]H aH bH cH ^^H __H ) " "
)" 7 " " " )" 4 ))
x = x + 10; //Pode ser escrito como:
x+= 10; // x <op>= <valor>
% ) ) ) ) " D ) ) C ) + " )) ) C )
double x = 10.111;
float z = (float)(x * 10);
float k+= (float)x;
* ! ! 1 *
=) ) ( ) " D ) " " +" " 4
= ( " " +" 7 )"W ,)" &, =
) # ) +" "; " " )" )
)) " # )" " " "
using System.WinForms;
using System.Reflection;
class SimpleReflections{
public static void Main(){
System.Type t = typeof(MessageBox);
object o = System.Activator.CreateInstance(t);
object[] op = {"Hello, World!"};
t.InvokeMember("Show",BindingFlags.InvokeMethod,null,o,op);
}
}
! 4 " " A
2 ( %4 " " 2 ( E I )"
4 E ) ) ) )" ) )"
4 ) -) 2 ( 7 " ) ) )) ) )) ) )
2 ( = " ) ) ) # 0 ) 5 6) 7 )" )) )
) A " -) )) , A V
) " ) 7 4 )
) " 4
A
+ ! 0 * , * $ * 3 4
= H ( ) ) ) % " "
,") = H ( " ( )B )
" D " ( ) )
using System;
struct SX{ public int x, y, z; }
class Sizeofs{
public static void Main(){
unsafe{
Console.WriteLine("O tamanho do byte em bytes é {0}.", sizeof(byte));
Console.WriteLine("O tamanho do short em bytes é {0}.", sizeof(short));
Console.WriteLine("O tamanho do int em bytes é {0}.", sizeof(int));
Console.WriteLine("O tamanho do long em bytes é {0}.", sizeof(long));
Console.WriteLine("O tamanho do SX em bytes é {0}.", sizeof(SX));
}
}
}
= " ) )- 7 " C ) " ) ) 6 8 =
" D 4 ) " ( "; ) )
" )" ) 7 < 4 , I 4 ,
= 6 ) # " )) +" *
) )" " = )" A B
)" A )) " " ) 7 : )) )
" " (
string x = "Isto é uma string";
object y = x as System.Collections.Stack; // y = null
object z = x as string; // z = "Isto é uma string"
System.Collections.Stack stack = new System.Collections.Stack()
using System;
class StackAllocs{
public static void Main(string[] args){
int count = args[0].ToInt32();
unsafe{
int* pi = stackalloc int[count];
for(int a = 0; a < count; ++a) pi[a] = a+1;
for(int a = 0; a < count; ++a,++pi) Console.WriteLine(*pi);
}
}
}
* ! ! ! , !4 #
E) )- A A ) " D ) ) 4 ))
" 7 # 6 0 " " %)") ) ) )
# 4 )) = " " 7 " A
" " )); " 0- W " * 8 C * 8 * 8 #
* 8 ) ) " * 8 * 8 B -# " " "
" 4 )) ) "
[ " " ) 7 ) C ) 7 #D # # 6<
• ((-- - 0 (-'
• )C ) O ) 4 ; ") " " ) " )
checked{
byte x = 255;
System.Console.Write(++x);
}
unchecked{
byte x = 255;
System.Console.Write(++x);
}
byte x = 255;
Console.Write(checked(++x));
byte x = 255;
Console.Write(unchecked(++x));
class Overflows{
public static void Main(){
byte x = 255;
System.Console.Write(++x);
}
}
B # )" . ( 6 * 8 C )
4 ) 0 4 )) . ( 634 B #
)" . ( 6 * 8 # ) 4 )" 0
3
* ! ! 7 ! ) !
=) )  -_ ef a ) " D ) " ) ) )
) ) ) " " " ( = 4 4 )" ) )")
)<
struct SX{ public int x; }
class Pointers{
public static void Main(){
SX sx;
sx.x = 0;
unsafe{
SX* psx = &sx;
psx->x = 10;
}
System.Console.Write(sx.x);
}
}
! * ! !
= ) " )) )) " # )" "
" )) 7 # J ( ) " #
System.Console.Write(“Uso do . com namespace e class”);
class CX{ public int x; }
CX cx;
cx.xR
struct SX{ public int x; }
SX sx;
sx.xR
= ef " D + " " " ) 4 " ")
x[1] = 1000;
= " D " )) " 4 ))
) ) 4 ; "
byte = (byte)100L;
int x = ( 1 + 2 ) * 3;
= G< ) + " 4 )) "
) )) ) $ " " D ) )" (- ) )
" ) 0 ! )" 0" " " D
if(a==1 && b ==2) x = 100; else x =1000;
x = (a==1 && b ==2) ? 100 : 1000;
= ( S " D " + " "
class Delegates{
delegate void Trace(string s);
public static void Main(){
Trace trace = new Trace(TraceConsole);
Trace trace2 = new Trace(TraceMsgBox);
trace += trace2;
trace("Isto é um delegate com 2 notificações!");
trace -= trace2;
trace("Isto é um delegate com 1 notificação!");
}
static void TraceConsole(string st){
System.Console.WriteLine(st);
}
static void TraceMsgBox(string st){
System.WinForms.MessageBox.Show(st);
}
}
B " D > A
* ! ! = 7
! C ) O ) )) ) )C ) ; ") 7 ) ) )
) "- " " # " %)) )
)C ) ) # ") " " " " " ) "0
) 4 ; " )
short x = 100;
int z = x; // operador built-in int
short k = (short)z; // necessidade de cast
$ )" " ) ) " ) ) ) [ )"
" D ) .0 ) 4 ) ) ) ) ) ) ) )
C ) " ) " ) )
/
""<''666 ) #" ' ) ' "'
""<'' ) ) #" ' "'
""<'' " ) ) '
? , 6
$ ) ( 6 8 ) ) 4 ))C ) C ) 7 )
g ) ) C ) ) " " ) ) ) # ) E ) " D B )
" 4 =1 7 " D 23 K ' " " " 4 ))C )
)" " ) ) . ) / ) 7 " D .1322.2 +" 322
" )) 5 UI " " " 4 ))C ) )" " ) ))
(( ( " " ) E ) )) ) ) # C ) $%& 6 A
# 4 " " " 4 ))C ) )" " ) > )" #
" " D-) )" )" " # # (
V 4 )) +" 34
) "0- = " * +") " 7 ) + 4 )) #
) 0 7 34 " )) 4 )) -
# E) 4 ))C ) - # ) ) ) ) ) " ) " N
E) 4 ))C ) ) ) ) ) # )< " ) * 6 #
)"W )) 34 ") )"W ) "
)) " ) ) 4 ))C ) 7 ) " ) "
=) " D " " " 4 ))C ) )" " ) ) < S
" B *S #" " " 4 )) ( S ) 4 " B)
) 4 )) * 6S ) 4 ))
1 B 6
/ /R )F K @A 7 & %3 &
M/% 9)F K U K 8 M: O $
S D )F K V 8 : 3 L %
Q K L )F K O K F A
% )F K % A FK# K F @A
2 Q K R )F K L
F/ /D $ )F K # 3 U L
R S KK )F K @A $ A
2 )F K !% W )F K /% 9)F K 3
!% W )F K % A K L
/% 9)F K % 9 K @A 3 M
$ " B 4 " D ) ) # ) ))
bool fSuccess = Process(100,200,300); //true se sucesso, false se falha
if(!fSuccess){
System.Console.WriteLine(“Processamento com erro”);
return;
}
9)" # " " )" ) #
)) " # # ) )) # %
B ) 0 ) " 7 7 ) 0 ) " ) ) 4 ))C )<
Process(100,200,300); //Gera excessão se falha
= * 6 " D ) ) D : ) "
) " 4 ) + 4 )) = W " )
) )) ,)" %4 "
using System;
class Throws{
public static void Main(string[] args){
//Verifica se somente uma string foi entrada
if(args.Length==1)
System.Console.WriteLine(args[0]);
else{
ArgumentOutOfRangeException ex;
ex = new ArgumentOutOfRangeException("Utilize uma string somente");
throw(ex); //Dispara a excessão
}
}
}
= " # ) B ) " ) )) )<
using System;
class Throws{
public static void Main(string[] args){
//Verifica se somente uma string foi entrada
if(args.Length==1)
System.Console.WriteLine(args[0]);
else
//Dispara a excessão
throw(new ArgumentOutOfRangeException("Utilize uma string somente"));
}
}
=
P ) )" C ) *) ) 4 " "
4 )) > " * " B " " " 4 )) =
" " " 4 )) " # 07 ) + 7 4 ))
) * # 4 )) ) 4 ))
" ) 0 4 " ) " ) ) D ) ))
" " " " ) 7 : ) ) * = *" )
" ) # ) " " 7 7 4 )) "
using System;
class Catchs{
public static void Main(){
int iMax=0;
Console.Write("Entre um inteiro para valor máximo, entre 0 e o máximo será
sorteado:");
try{
iMax = Console.ReadLine().ToInt32();
Random r = new Random(); //Instância a classe Random
int iRand = r.Next(1,iMax); //Sorteia randômincamente entre 0 e máximo
Console.Write("O valor sorteado entre 1 e {1} é {0}", iRand, iMax);
}
catch(ArgumentException){
Console.WriteLine("0 não é um valor válido");
}
catch(Exception e){
Console.WriteLine(e);
}
}
}
! 4 " " * %4 "
" * E N )" 4 $ "
N 7 4 3 ) 4 )) ? 34 7
" "" " 4 " ) ) )"W +" ))
34
+ ! : * , *
= " )) " " " 4 ))C ) # ) <
object o = (int)100;
try{
string s = (string)o; //Produz a excessão InvalidCastException
}
catch{
Console.Write("Ocorreu uma excessão");
}
= " # ) B " D )) 34 "
# ) " ) 4 ))
object o = (int)100;
try{
string s = (string)o; //Produz a excessão InvalidCastException
}
catch(Exception e){
Console.Write(e);
}
=
E )" ( " 4 ) " 4 ))
object o = (int)100;
try{
OpenDB(); //Abre o banco de dados e produz a excessão
}
finally{
CloseDB();
}
& " ( " D ) ) ) )
4 # 7 4
using System;
class TryFinally{
public static void Main(){
try{
throw new Exception("A excessão..."); //Dispara a excessão
}
finally{
Console.WriteLine("O bloco finally é sempre executado...");
}
Console.WriteLine("Esta linha não será executada...");
}
}
" " " " 7 7 4 )) " )
4 8 7 " " " 4 )) )
" " # " * % ) ) * ( ) " D )
+ "
=
using System;
using System.Xml;
class TryCatchFinally{
public static void Main(){
XmlDocument doc = null;
try{
doc = new XmlDocument();
doc.LoadXml("<Exception>The Exception</Exception>"); //Carrega o conteúdo
throw new Exception(doc.InnerText); //Dispara a excessão
}
catch(OutOfMemoryException){
//Tratamento aqui
}
catch(NullReferenceException){
//Tratamento aqui
}
catch(Exception e){
//Tratamento aqui
Console.WriteLine("Excessão ocorrida no programa {0}", e);
}
finally{
Console.WriteLine(@"Gravando o Documento no C:..."); //Uso do verbatim (@)
doc.Save(@"c:exception.xml"); //Grava o conteúdo
}
Console.WriteLine("Esta linha não será executada...");
}
}
! 4 " " L
' *A %4 "- " ' *A
+ 3 ! #
= # 4 4 4" ) ) ) " # C )
) " " ) ) 4)" " ))
) ) ) 4" ) B 4 # )) )"
4 " # A : 7 # A &7 " " " D ;
0 " )" 4 )) $ 4. .(2 7 " " )
4" #
using System;
class Flux{
static int[] arr = new int[3]; //Declara um array de inteiros de 3 posições
public static void Main(){
try{
Func1();
}
catch(Exception e){
Console.WriteLine(e);
}
}
public static void Func1(){ Func2(); }
public static void Func2(){ arr[3] = 100; }
}
= " " 7 " # # 4 " " " ) 4 ))C ) * 6 ) +
4 * 6 " * ) 4 )) 7 0)
" " ) ) ) ) 7 ") . #7 )" " " B 4 <
using System;
class Rethrows{
static int[] arr = new int[3]; //Declara um array de inteiros de 3 posições
public static void Main(){
try{
Func1();
}
catch(Exception){ //Trata o rethrowing
Console.WriteLine("O índice máximo para o array é {0}",
arr.GetUpperBound(0));
}
}
public static void Func1(){
try{
Func2();
}
catch(IndexOutOfRangeException e){ //Trata a excessão gerada
Console.WriteLine(e);
throw e; //Rethrowing
}
}
public static void Func2(){
arr[3] = 100; //Excessão IndexOutOfRangeException
}
}
> " )); " " " = B 4
0 " " * 6 " ) )"
" " ") 4 ))C ) ) " D ) )" ) <
using System;
class TryTry{
static int[] arr = new int[3];
public static void Main(){
try{
Func1();
}
catch(IndexOutOfRangeException e){
Console.WriteLine(e);
try{
throw e;
}
catch(Exception){
Console.WriteLine("O índice máximo para o array é {0}",
arr.GetUpperBound(0));
}
}
}
public static void Func1(){ Func2(); }
public static void Func2(){ arr[3] = 100; }
}
1 * ! 6 * !
= ) " U" ) " " ") 4 ))C ) ) )< ( * ( *
#( * . ) ) ) C ) " " ) 0 # <
A * ) 4 " ) " ) 4 )) %)") " " ) )
) " ) (
try{
throw new System.Exception();
}
finally{
System.Console.Write(“Sempre sou executado”);
}
A * ) 4 " ) ) 7 4 )) " " 7 7 "
%)") " " ) ) ) " ) *) W " ) #"
try{
throw new System.Exception();
}
catch{
System.Console.Write(“Sou executado em caso de qualquer excessão”);
}
' #( * 4 " 7 4 )) " ) ;# ) )
%)" " " ) " * W " #"
try{
throw new System.MulticastNotSupportedException();
}
catch(System.NullReferenceException){
System.Console.Write(“Sou executado em NullReferenceException”);
}
catch(System.ArithmeticException){
System.Console.Write(“Sou executado em ArithmeticException”);
}
catch(System. MulticastNotSupportedException){
System.Console.Write(“Sou executado em MulticastNotSupportedException”);
}
= " " " " " $%& #( * 7 )
) # B 4 <
using System;
class UserFilter{
public static void Main(){
int iDivd=0, iDivs=0;
Console.Write("Entre um inteiro para o Dividendo:");
iDivd = Console.ReadLine().ToInt32();
Console.Write("Entre um inteiro para o Divisor:");
iDivs = Console.ReadLine().ToInt32();
try{
double dResult = (double)iDivd/iDivs;
Console.WriteLine("{0}/{1} = {2,0:N5}",iDivd,iDivs,dResult);
}
catch(Exception){
//Simulando o filtro
if(iDivd==0 && iDivs==0){
Console.WriteLine("0/0 é indeterminado");
return;
}
if(iDivs==0){
Console.WriteLine("0 como divisor é indefinido");
return;
}
}
}
}
I , *
E # ) D ) 4 )) " ) )) )
34 % # ) # C ) ))0 ) " " " ) 4 ))C )
)) ) ) " ) ) 7 " D ) # C ) ))0 )
") $ " )"W )) " D " )
* ) ) 4 ) " )
. ) ) ) ) )) 34
" )" "4" )
catch(System.Exception e){
System.Console.WriteLine(e.Message);
}
)) # )" "4" +"
catch(System.Exception e){
System.Console.WriteLine(e.Source);
}
8 )) )" AP $ P 8 7 +
catch(System.Exception e){
System.Console.WriteLine(e.HelpLink);
}
8' )) )" ) 7 : ) 8 V
4 )) 8 ) " 3 8'
catch(System.Exception e){
System.Console.WriteLine(e.StackTrace);
}
$ 34 " # : 4 )) "
throw e.InnerException;
' " " 7 ) )" 4 )) )" " ) 0" " " )
)) * 7 " ) 2 (
System.Reflection.MethodBase mb = e.TargetSite;
if(mb.IsStatic) Console.Write(“Membro que disparou a excessão é static”);
B 7 34 " # : 4 )) " 9" " )"
" " D $ 34
throw e.GetBaseException();
8 # AP $ P 8 7 + %)" " #
8
e.SetHelpLink(“http://www.microsoft.com/brasil/msdn”);
using System;
public class Exceptions{
public static void Main(){
try{
FillStack();
}
catch(Exception e){
//Utilizando os membros da classe Exception
Console.WriteLine("Exception Members");
e.Source = "internal FillStack Function";
Console.WriteLine("Source: {0}",e.Source);
Console.WriteLine("Message: {0}",e.Message);
e.SetHelpLink(@"C:Microsoft.NetFrameworkSDKDocscpref.chm");
Console.WriteLine("HelpLink: {0}",e.HelpLink);
Console.WriteLine("StackTrace: {0}",e.StackTrace);
System.Reflection.MethodBase mb = e.TargetSite;
if(mb.IsStatic) Console.Write("Membro que disparou a excessão é static");
}
}
internal static void FillStack(){
//Simulando esta linha - FillStack();
throw new StackOverflowException();
}
}
=) ) )" " ) )) ) <
• 34 M- D
• 34 M- D ) ) ;#
• 34 /34 M- D )
) ;# # : 4 )) "
E )) 34 ) " " # $ H 7 " +" "
) D ) D
4 * A!
/ ) " )) 4 )) )) 34 )
) ) ) E 4 )) 4 )) .6 34
) ) )" " ) ) ) ) ))
" ) " ) )) " ) -
using System;
using System.WinForms;
internal class MyOwnException: Exception{
public MyOwnException():base(){}
public MyOwnException(string msg):base(msg){}
public MyOwnException(string msg, Exception ie):base(msg,ie){}
}
public class MyApp{
public static void Main(){
try{
throw new MyOwnException("Excessão disparada...",new CoreException());
}
catch(MyOwnException e){
e.Source = "MyApp class";
MessageBox.Show(e.Message,e.Source,MessageBox.OK|MessageBox.IconError);
}
}
}
! 4 " " A
.6 34 # I 4 "- " .6 34
+ ! ; * , * - K # , *
$ )" " ) " " " " 4 )) )" " ) ) ) ) ) )
" B " )); ) g ) . 7 ) ) )""
C ) ) ) " C ) ") )
) 4 # 7 = " " " "
7 "0 " ) ) " D " " " 4 ))
)) )"D = " " " 4 )) 7 )"
" P" D )" ) "0D ") #; )
#
/
""<'' ) ) #" ' ,'6 ' ) ) ' "3QIQI33N "
""<'' ) ) #" ' )" ' 4" ' # " )
""<''666 ) #" ' "' # " )
""<'' ) ) #" ' "'
""<'' " " " '
""<''666 ) #" ' ) ' )

Mais conteúdo relacionado

Destaque

Hardware questionario 06
Hardware   questionario 06Hardware   questionario 06
Hardware questionario 06Tiago
 
Hardware questionario 05
Hardware   questionario 05Hardware   questionario 05
Hardware questionario 05Tiago
 
Classes csharp
Classes csharpClasses csharp
Classes csharpTiago
 
Quanta
QuantaQuanta
QuantaTiago
 
Webdesign idepac
Webdesign idepacWebdesign idepac
Webdesign idepacTiago
 
Discos
DiscosDiscos
DiscosTiago
 
Linguagem c
Linguagem cLinguagem c
Linguagem cTiago
 
F fmpeg2 theora_oggfwd
F fmpeg2 theora_oggfwdF fmpeg2 theora_oggfwd
F fmpeg2 theora_oggfwdTiago
 
Defeitos em hardware
Defeitos em hardwareDefeitos em hardware
Defeitos em hardwareTiago
 
Introdução a Multimídia
Introdução a MultimídiaIntrodução a Multimídia
Introdução a MultimídiaTiago
 
Foca intermediario
Foca intermediarioFoca intermediario
Foca intermediarioTiago
 
Funcionamento interno de computadores
Funcionamento interno de computadoresFuncionamento interno de computadores
Funcionamento interno de computadoresTiago
 

Destaque (18)

Hardware questionario 06
Hardware   questionario 06Hardware   questionario 06
Hardware questionario 06
 
Hardware questionario 05
Hardware   questionario 05Hardware   questionario 05
Hardware questionario 05
 
Classes csharp
Classes csharpClasses csharp
Classes csharp
 
Ltsp
LtspLtsp
Ltsp
 
Quanta
QuantaQuanta
Quanta
 
Webdesign idepac
Webdesign idepacWebdesign idepac
Webdesign idepac
 
Discos
DiscosDiscos
Discos
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
F fmpeg2 theora_oggfwd
F fmpeg2 theora_oggfwdF fmpeg2 theora_oggfwd
F fmpeg2 theora_oggfwd
 
Defeitos em hardware
Defeitos em hardwareDefeitos em hardware
Defeitos em hardware
 
Introdução a Multimídia
Introdução a MultimídiaIntrodução a Multimídia
Introdução a Multimídia
 
Foca intermediario
Foca intermediarioFoca intermediario
Foca intermediario
 
Ps
PsPs
Ps
 
Samba
SambaSamba
Samba
 
Http
HttpHttp
Http
 
Funcionamento interno de computadores
Funcionamento interno de computadoresFuncionamento interno de computadores
Funcionamento interno de computadores
 
J2me
J2meJ2me
J2me
 
Ldap
LdapLdap
Ldap
 

Semelhante a Introdução ao c# para iniciantes

Introdução a python módulo b
Introdução a python   módulo bIntrodução a python   módulo b
Introdução a python módulo bJader Gabriel
 
Ppi cap6 ac_2011
Ppi cap6 ac_2011Ppi cap6 ac_2011
Ppi cap6 ac_2011Banks EHz
 
Cheat sheet - String Java (Referência rápida)
Cheat sheet - String Java (Referência rápida)Cheat sheet - String Java (Referência rápida)
Cheat sheet - String Java (Referência rápida)Rafael Liberato
 
Módulo 5 análise das demonstrações contábeis
Módulo 5   análise das demonstrações contábeisMódulo 5   análise das demonstrações contábeis
Módulo 5 análise das demonstrações contábeisPUC Minas
 
Html5 storage api
Html5 storage apiHtml5 storage api
Html5 storage apiSuissa
 
EXIGÊNCIAS DE CERTIDÕES NEGATIVAS PARA LEVANTAMENTO DE VALORES DECORRENTES DE...
EXIGÊNCIAS DE CERTIDÕES NEGATIVAS PARA LEVANTAMENTO DE VALORES DECORRENTES DE...EXIGÊNCIAS DE CERTIDÕES NEGATIVAS PARA LEVANTAMENTO DE VALORES DECORRENTES DE...
EXIGÊNCIAS DE CERTIDÕES NEGATIVAS PARA LEVANTAMENTO DE VALORES DECORRENTES DE...MARCO AURÉLIO BICALHO DE ABREU CHAGAS
 
[Curso Java Basico] Aulas 75-84: Strings e StringBuilder
[Curso Java Basico] Aulas 75-84: Strings e StringBuilder[Curso Java Basico] Aulas 75-84: Strings e StringBuilder
[Curso Java Basico] Aulas 75-84: Strings e StringBuilderLoiane Groner
 
TDC2016SP - Trilha Node.Js
TDC2016SP - Trilha Node.JsTDC2016SP - Trilha Node.Js
TDC2016SP - Trilha Node.Jstdc-globalcode
 
Conhecendo ou relembrando C
Conhecendo ou relembrando CConhecendo ou relembrando C
Conhecendo ou relembrando CVinícius Hax
 
Mobileconf dicas-android
Mobileconf dicas-androidMobileconf dicas-android
Mobileconf dicas-androidAlberto Souza
 
Jug bizus (4)
Jug   bizus (4)Jug   bizus (4)
Jug bizus (4)JugVale
 
Mini Curso de Python para Coding Dojo
Mini Curso de Python para Coding DojoMini Curso de Python para Coding Dojo
Mini Curso de Python para Coding DojoFabricio NErdmann
 
Palestra Plano de Negócio para Captação de Recursos - Adm. Wolmara Gomes
Palestra Plano de Negócio para Captação de Recursos - Adm. Wolmara GomesPalestra Plano de Negócio para Captação de Recursos - Adm. Wolmara Gomes
Palestra Plano de Negócio para Captação de Recursos - Adm. Wolmara GomesCRA - MG
 
Curso de Gestão de Comunicação Empresarial e Relações Públicas
Curso de Gestão de Comunicação Empresarial e Relações PúblicasCurso de Gestão de Comunicação Empresarial e Relações Públicas
Curso de Gestão de Comunicação Empresarial e Relações PúblicasSustentare Escola de Negócios
 
Introdução ao framework CakePHP
Introdução ao framework CakePHPIntrodução ao framework CakePHP
Introdução ao framework CakePHPigorpimentel
 
jQuery - Visão Geral
jQuery - Visão GeraljQuery - Visão Geral
jQuery - Visão GeralKaio Valente
 

Semelhante a Introdução ao c# para iniciantes (20)

Introdução a python módulo b
Introdução a python   módulo bIntrodução a python   módulo b
Introdução a python módulo b
 
Ppi cap6 ac_2011
Ppi cap6 ac_2011Ppi cap6 ac_2011
Ppi cap6 ac_2011
 
Tcc apresentacao1
Tcc apresentacao1Tcc apresentacao1
Tcc apresentacao1
 
Cheat sheet - String Java (Referência rápida)
Cheat sheet - String Java (Referência rápida)Cheat sheet - String Java (Referência rápida)
Cheat sheet - String Java (Referência rápida)
 
Módulo 5 análise das demonstrações contábeis
Módulo 5   análise das demonstrações contábeisMódulo 5   análise das demonstrações contábeis
Módulo 5 análise das demonstrações contábeis
 
Html5 storage api
Html5 storage apiHtml5 storage api
Html5 storage api
 
EXIGÊNCIAS DE CERTIDÕES NEGATIVAS PARA LEVANTAMENTO DE VALORES DECORRENTES DE...
EXIGÊNCIAS DE CERTIDÕES NEGATIVAS PARA LEVANTAMENTO DE VALORES DECORRENTES DE...EXIGÊNCIAS DE CERTIDÕES NEGATIVAS PARA LEVANTAMENTO DE VALORES DECORRENTES DE...
EXIGÊNCIAS DE CERTIDÕES NEGATIVAS PARA LEVANTAMENTO DE VALORES DECORRENTES DE...
 
[Curso Java Basico] Aulas 75-84: Strings e StringBuilder
[Curso Java Basico] Aulas 75-84: Strings e StringBuilder[Curso Java Basico] Aulas 75-84: Strings e StringBuilder
[Curso Java Basico] Aulas 75-84: Strings e StringBuilder
 
TDC2016SP - Trilha Node.Js
TDC2016SP - Trilha Node.JsTDC2016SP - Trilha Node.Js
TDC2016SP - Trilha Node.Js
 
Conhecendo ou relembrando C
Conhecendo ou relembrando CConhecendo ou relembrando C
Conhecendo ou relembrando C
 
Mobileconf dicas-android
Mobileconf dicas-androidMobileconf dicas-android
Mobileconf dicas-android
 
Jug bizus (4)
Jug   bizus (4)Jug   bizus (4)
Jug bizus (4)
 
Jug bizus
Jug   bizusJug   bizus
Jug bizus
 
apostila.pdf
apostila.pdfapostila.pdf
apostila.pdf
 
Mini Curso de Python para Coding Dojo
Mini Curso de Python para Coding DojoMini Curso de Python para Coding Dojo
Mini Curso de Python para Coding Dojo
 
Palestra Plano de Negócio para Captação de Recursos - Adm. Wolmara Gomes
Palestra Plano de Negócio para Captação de Recursos - Adm. Wolmara GomesPalestra Plano de Negócio para Captação de Recursos - Adm. Wolmara Gomes
Palestra Plano de Negócio para Captação de Recursos - Adm. Wolmara Gomes
 
Curso de Gestão de Comunicação Empresarial e Relações Públicas
Curso de Gestão de Comunicação Empresarial e Relações PúblicasCurso de Gestão de Comunicação Empresarial e Relações Públicas
Curso de Gestão de Comunicação Empresarial e Relações Públicas
 
Documentacao automatica
Documentacao automaticaDocumentacao automatica
Documentacao automatica
 
Introdução ao framework CakePHP
Introdução ao framework CakePHPIntrodução ao framework CakePHP
Introdução ao framework CakePHP
 
jQuery - Visão Geral
jQuery - Visão GeraljQuery - Visão Geral
jQuery - Visão Geral
 

Mais de Tiago

Programacao php moodle
Programacao php moodleProgramacao php moodle
Programacao php moodleTiago
 
Apostila cdtc dotproject
Apostila cdtc dotprojectApostila cdtc dotproject
Apostila cdtc dotprojectTiago
 
6572501 ldp-apostila-de-turbo-pascal
6572501 ldp-apostila-de-turbo-pascal6572501 ldp-apostila-de-turbo-pascal
6572501 ldp-apostila-de-turbo-pascalTiago
 
Guia rapido de_pascal
Guia rapido de_pascalGuia rapido de_pascal
Guia rapido de_pascalTiago
 
Python bge
Python bgePython bge
Python bgeTiago
 
Curso python
Curso pythonCurso python
Curso pythonTiago
 
Curso python
Curso pythonCurso python
Curso pythonTiago
 
Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 pythonTiago
 
Threading in c_sharp
Threading in c_sharpThreading in c_sharp
Threading in c_sharpTiago
 
Retirar acentos de_determinado_texto_em_c_sharp
Retirar acentos de_determinado_texto_em_c_sharpRetirar acentos de_determinado_texto_em_c_sharp
Retirar acentos de_determinado_texto_em_c_sharpTiago
 
Remover caracteres especiais_texto_em_c_sharp
Remover caracteres especiais_texto_em_c_sharpRemover caracteres especiais_texto_em_c_sharp
Remover caracteres especiais_texto_em_c_sharpTiago
 
Obter ip da_internet_em_c_sharp
Obter ip da_internet_em_c_sharpObter ip da_internet_em_c_sharp
Obter ip da_internet_em_c_sharpTiago
 
Metodo using no_c_sharp
Metodo using no_c_sharpMetodo using no_c_sharp
Metodo using no_c_sharpTiago
 
Interfaces windows em c sharp
Interfaces windows em c sharpInterfaces windows em c sharp
Interfaces windows em c sharpTiago
 
Filestream sistema arquivos
Filestream  sistema arquivosFilestream  sistema arquivos
Filestream sistema arquivosTiago
 
Curso linux professor rafael
Curso linux professor rafaelCurso linux professor rafael
Curso linux professor rafaelTiago
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 
Controle lpt em_c_sharp
Controle lpt em_c_sharpControle lpt em_c_sharp
Controle lpt em_c_sharpTiago
 
C# o basico
C#   o basicoC#   o basico
C# o basicoTiago
 
C# classes
C#   classesC#   classes
C# classesTiago
 

Mais de Tiago (20)

Programacao php moodle
Programacao php moodleProgramacao php moodle
Programacao php moodle
 
Apostila cdtc dotproject
Apostila cdtc dotprojectApostila cdtc dotproject
Apostila cdtc dotproject
 
6572501 ldp-apostila-de-turbo-pascal
6572501 ldp-apostila-de-turbo-pascal6572501 ldp-apostila-de-turbo-pascal
6572501 ldp-apostila-de-turbo-pascal
 
Guia rapido de_pascal
Guia rapido de_pascalGuia rapido de_pascal
Guia rapido de_pascal
 
Python bge
Python bgePython bge
Python bge
 
Curso python
Curso pythonCurso python
Curso python
 
Curso python
Curso pythonCurso python
Curso python
 
Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 python
 
Threading in c_sharp
Threading in c_sharpThreading in c_sharp
Threading in c_sharp
 
Retirar acentos de_determinado_texto_em_c_sharp
Retirar acentos de_determinado_texto_em_c_sharpRetirar acentos de_determinado_texto_em_c_sharp
Retirar acentos de_determinado_texto_em_c_sharp
 
Remover caracteres especiais_texto_em_c_sharp
Remover caracteres especiais_texto_em_c_sharpRemover caracteres especiais_texto_em_c_sharp
Remover caracteres especiais_texto_em_c_sharp
 
Obter ip da_internet_em_c_sharp
Obter ip da_internet_em_c_sharpObter ip da_internet_em_c_sharp
Obter ip da_internet_em_c_sharp
 
Metodo using no_c_sharp
Metodo using no_c_sharpMetodo using no_c_sharp
Metodo using no_c_sharp
 
Interfaces windows em c sharp
Interfaces windows em c sharpInterfaces windows em c sharp
Interfaces windows em c sharp
 
Filestream sistema arquivos
Filestream  sistema arquivosFilestream  sistema arquivos
Filestream sistema arquivos
 
Curso linux professor rafael
Curso linux professor rafaelCurso linux professor rafael
Curso linux professor rafael
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
Controle lpt em_c_sharp
Controle lpt em_c_sharpControle lpt em_c_sharp
Controle lpt em_c_sharp
 
C# o basico
C#   o basicoC#   o basico
C# o basico
 
C# classes
C#   classesC#   classes
C# classes
 

Último

Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - DissertaçãoMaiteFerreira4
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
A poesia - Definições e Característicass
A poesia - Definições e CaracterísticassA poesia - Definições e Característicass
A poesia - Definições e CaracterísticassAugusto Costa
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfjanainadfsilva
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfMárcio Azevedo
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdflucassilva721057
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memorialgrecchi
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxSamiraMiresVieiradeM
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 

Último (20)

Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - Dissertação
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
A poesia - Definições e Característicass
A poesia - Definições e CaracterísticassA poesia - Definições e Característicass
A poesia - Definições e Característicass
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdf
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdf
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memoria
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 

Introdução ao c# para iniciantes

  • 1. ! "# $%& ' (( ) ) " * +") # " " " ", -) # )) ' (( " " . ) / ) ) 0 )" + " " 1 ) #". ) " 23. ) " $%& 0 )) " "# $ 4" " 5 6) ) $ 5 7 ) " )) ) ) 4 " $%& 8 " 8 ) 4 "# $%& 9)) )) " : 0 ) " ) ) ) #; ) 8 ) " 8 ! 4 )) ) ) ) " . ) / ) " • ! " * ") # ; ' ((< $%& 8 " " ) ") ) # " ") =) ") ") ) " ) ") " ") ) # " " ) > " ) ) " " ) ") 4 " ) ?18 7 " ) " ", ) 7 ) # ) 7 ) 9>8 9>8# ) =) ") ) ) "- ) " ) )) " )) )" • & +" % "0 ) @ (( " ) ) +") " # ) )" # " ) " ) ) " ) ) " " ) +") ) # "0 ) 8) " A • !B4 ) #"6 ) )") 0 ) #"6 )" 0 )) 0) 1 ") C ) ) # ) ) D) " D ) " ) ) ) " 4 " 84 " 7 # " " " B %4 ))C ) %4 " ) 7 ) ) 7 ) " " ) " ) &, -) #", 7 )) 0 ) )") . ) . ) ) ) ) " ) )" )) " ) #"6
  • 2. • ! ) ) )" " " ) (( )) " # "0 " (( )) " " D " ) 4 B " " ?18 =E! ") =1 >88 7 7 " ! "# $%& " " "" +") 4)" ") 1 C ) ) B ) " ) $%& )) " 0 D " " ! " # $ ! % " $&$'( ! " D ) )) ) ) "# $%& " 4 " ))0 )" $ 5 >F 7 ) " ""<'' ) ) #" ' ') ) G H' ) - # )'3I2'333'J2K' ) ) " 4 5 6) I333 99 9" "%4 LL) 7 ) )" )" )! ! *! ! %) " M 5 < using System; class Hello{ public static void Main(){ Console.WriteLine("Hello World!!!"); } } > " B ) " "4" # " - ! 4 " " %4 " " N )" 4 <
  • 3. + ! * , *! ! E ) ) C ) ) B E O) # ) )) ) ) " D ) " ) ) )) ) = ) " ") )) ) ) = " ) ) " " )" ) - = " " " 4 ) $ 4)" # C ) ) )) 7 ) 0 4 " " )) " # )"0" P ) )) " # " " ) ) 0 " " " ) # = " ) Q# )< • " D < • " " "< • • ") " ) , )" " D < !" • ") " ) , )" " " < !"
  • 4. , ! ! *! ! = )7 " ) " ) ) ) ) ") ) ) ) 4 < //Estrutura do programa em C# using System; namespace MathNamespace{ public class MathClass{ /* Main Exibe no prompt */ public static void Main(string[] args){ Math m = new Math(); Console.WriteLine(m.Sum(1,1)); } //<summary>Classe Math</summary> public class Math:Object{ public int Sum(int a, int b){ return (a+b); } } } } E )" " ) ) 7 ) " < • $ ) )R • & ) - )) ) )" " ) " # ) C ) )R • 1 ) S )" ") ) " ) ) 4 ) ") ) )" " )R • = " ) - " ) )" C ) $ )" " ) 7 ) " )" ) ) )" " & # )" )) $ 5 >F 7 " $%& 6 A ) ) ) P " # " 4 " ) ! ! . / ""<'' ) ) #" ' ,' # " ) GP 8H' ,'6 ' ) ) ' 32I3I3 33 "
  • 5. ""<'' ) ) #" ' )" ' 4" ' # " ) ""<''666 ) #" ' "' # " ) ""<'' ) ) #" ' )' ) 3NNTI33N )
  • 6. 0 1 * " ) " ) " ) ) 0) %)) ) " ) ) ) " ) " ) # " ) ) ) " ) " " ) " D ) " # # 0 ) :" ) C ) " ) C ) E " N ) " ) " ) 0) ) # ) + " " ) " ) ) $%& 6 A $%&&, ) % " ) ) )) ) " 8 " 8 4 # -) $ %& 1 1 * *! ! " " #$ $ % & ' &"' ! ( ))) * + #$ $ % ,+& ' - * , & ' - $ ( )))- #$ $ % , &+ ' *+ ,-&*' - - - * * - * * * - * $ * * ."& -&- &- &+*& +& "& -&- &- &+*& +& / 0 / 0 ++ - & - & $ $ $ - - *&"*&" &"+ $ * * &** &**& -& "&++ & + +&+-+ 1 * 2 ! 1 * 3 4!5 =) " ) ) ) ) U " )< • ' 7 ) ) R • ' ( ) ( 7 ) ) * R • ' 7 ) " ) 7 ) " D ) B ) ) # ' D ) B 7 " ( ) D # : " $ " " ( ) )) " " " ) ) )) " (( E # N 4 B ) " ) ) ) ) ( )
  • 7. + ! 0 1 * 2 ! 1 * 3 4!5 V " D ) 0 ( ) )" ) )) ) " " ) ) # " ) "0 7 " )) " " ) "O > " )) ) ) 7 0 ) # # ) 0 ( ) )) )) * 0 W ) )) " ) " $ " )) * 0# " 4 " B ) ! " " " D 0 ) ) ) ) 7 ) ) " " # ) = B 4 )" ) " ) " ) " )< //Tipo valor int x = 10; //Tipo referência int y = new int(10); $ ) " ) ) 8 $%&&, ) " ) " D ) B 4 )) # B " 4 " ) "0" < //Tipo valor System.Int32 x = 10; //Tipo referência System.Int32 y = new System.Int32(10); ! ) 0 ) < * ( * * > ) ) " ) +, E )"0 )) # )" " ) # ) ) 0 )" " ) ) ) # ) ) ) ) ) ) 0 ) 7 < • E 0 " " " R • E 0 )) " 7 7 " " R • E 0 )) " ) " " R • E 0 ) 0 )) # 7X " " W " " " ) 9)) " 0 B " ) ) 7 " D #
  • 8. = ) + ) " 7 0 )) +" ! " ) ) " ) ) ) -) 0 ) ( ) < ( - = 7 ) ) $%& 6 A 7 " " ( ) ) " " . - / # " " 0 ) 7 ) ) 0 ' # # " )) ) 0 ) ) D 3 7 " ) ( ) )) " = )) 0 D ( ) 4 )) " 1 2 ( 34 !6 7 *8 )C ) ; ") " " C ) 0 ) )) W " ) ) " ) %)) ) )C ) ) #" ) " 0" " 7 0 )) " )# ) )") # " ) 4 ; " " //extraindo um valor int de long int x; long y = 10; x = y; E " I + 0 ) " 0 )C ) O ) ; ") 1 0 !6 9 ! 7 *8 * ! $ $ !6 , *8 % & V 0 ) ) N" ) 0) " D " )# " ) + 7 4" " " " ) ) " " 4 = " ) " 7 " " )) %)" ) " " " ) 4 4 //extraindo um valor int de long int x; long y = 10; x =(int)y; //extraindo um valor System.Int32 de System.Int64
  • 9. System.Int32 x; System.Int64 y = 10; x = (System.Int32)y; $ ) 4 ) #" ) O" ) ) 4" -) " " = 7 ) ) " " ) )C ) ; ") 7 " ) 4 ; ") # 4 ) ) " "" " 4 > ) " N ) )) # 4 )" " ) 0 ) )" " ! )" " 0 " " D ! 4 < class Casts{ public static void Main(){ int x; long y=10; //Cast consistente x=(int)y; System.Console.WriteLine("Cast consistente int x={0} long y={1}",x,y); //Cast inconsistente y=2147483648; x=(int)y; System.Console.WriteLine("Cast inconsistente int x={0} long y={1}",x,y); } } ! 4 " " %4 " " E I )" 4 + ! : * , * E " U + 0 ) " 0 )C ) O ) 4 ; ")
  • 10. 1 : !6 9 ! , *8 * ! 1 $ $ , ! ! %$! & % & % )" " )" " ) " " 7 " )) )) ) " " ( ) E ) ) ) ) " )" " ) )" ") ) ( " ) * ) 4 ) 4 ) " ) ) 1 ) ) )" " ) ": ) " ) ) ) " ) # : ) " ) ) " ) )" " ) "D ) " * ) )" ") using System; //Classe public class MyClassRect{ //Campos public uint x, y; //Calculo da área do retângulo public ulong Area(){ return x*y; } } //Estrutura public struct MyStructRect{ //Campos public uint x, y; //Calculo da área do retângulo public ulong Area(){ return x*y; } } class MainClass{ public static void Main(){ MyClassRect cl = new MyClassRect(); //alocado na heap MyStructRect st; //alocado na stack cl.x = 10; cl.y = 5;
  • 11. st.x = 10; st.y = 5; Console.WriteLine("Classe - {0} m X {1} m = {2} m²" ,cl.x,cl.y,cl.Area()); Console.WriteLine("Estrutura - {0} m X {1} m = {2} m²",st.x,st.y,st.Area()); } } ! 4 " " 5 %4 " " 5 E U )" 4 + ! ; * , * <$! = > > # " " ) ) " * +") 4 6 " +") " ) " " ) ) " D )" ) 4 4 7 4 ) ( ) 4 )) "0 )" ) ) + 4" -) "O ( ) 0 ' " )C ) 4 ; ") ) ) " ) 4 //Boxing int x = 12345; object o = x; //Unboxing x = (int)o;
  • 12. =) " ) ) ) 0 ' ) ) 8 ) " ) )" " " $ %& $%& 6 A >F 4 V 0 " D ) ) " B " " ) )) 0 ) # 4 ) ) 0 * ) 0 ) " * 4 )) +" 0 ' +" . - ;D " ) +") $%& 6 A E # Q 4 )" 4 " 7 " ) ) # )< 4 4 + ! ? 3 *! @! !A 4! = 7 # )) ) 7 4 ) " " " 0" " ) + ; " 4 " " -) +" - ) " - 9:&%;< )" ) :&%;< " " " $ " " # 4 " " " 4 ; " 7 4 9 )) 7 ) " - " # 4 " ) ) 4 ; " ) +-) " # 4 ) )) 4 0) " " ) ;# ) "0 4 )) $ 34 ) 0 ) )" " 0 ) )" ) = B 4 )" )) < long l = 12345; object o = (long)l; //Unboxing inconsistente int i = (int)o; //excessão InvalidCastException 4 < long l = 12345; object o = (long)l; //Unboxing consistente int i = (int)(long)o; P " # " D ) )C ) "0 ) " ) ) ) ) ) + " "O 0 )); ) # # " ) ) + 0 " " 4 " " " D ' $ =; :&%;<' $ =; " -) " = B " ) ) " <
  • 13. object o = 12345.ToInt64(); //Valor tratado na forma boxing //Unboxing consistente int i = (int)(long)o; > " $%& 6 A ) " D ) " )) )" # " 0 ) " ) ) )) ) " ) ) " " ) " +") # # L % " 7 ") 4 ) 4 " ) 4 G long l = 1000; int i = 500; Console.WriteLine(“{0} {1} {2} {3} {4} {5}”,l,i,i,l,l,i); + ! B > * C " ! ))0 ) K 4 O" 0 ) " " +" = )) 4 ) B " 4 !P " " B # " " ) " < long l = 1000; int i = 500; object ol = l; object oi = i; Console.WriteLine(“{0} {1} {2} {3} {4} {5}”,ol,oi,oi,ol,ol,oi); $ )" ) O 4 D I %)" " ) 0) " " # B ) " ) " )) " ) ) ) ) $ )" " ) " " " " D ) " ) ) ) " " ) " ) # " ) @ " " # " 4 4 7 " D " )" B "# $%& / ) ) # : " D )) ) / ""<'' ) ) #" ' ) ' )) )'NI33' " "' " "NI33 ) ""<'' ) ) #" ' )" ' 4" ' # " )
  • 14. ""<''666 ) #" ' "' # " ) ""<'' ) ) #" ' )' ) 3INLI33N ) ""<'' ) ) #" ' "' ""<'' " " " '
  • 15. : )) ) " # 4 7 # ) B )) " E # 7 ) ) ) " " ) ) *) " ) ! " " ) 7 : )" " " * +") 4 " " ) + )" )" $ )" )) =) ) ) ) )) # ) < • > • B" 8 • > ) @ • • 9" 8 E )") ) # ) ) ) (( %)") ) ) " ) " # ) = ) ) " ) YZ $ " " " " D )" C ) (( 6* " " ) //Comando isolado if(a==true) System.Console.Write("Verdadeiro"); //Bloco de comandos { int x = 100; int y = 200; int z = x + y; } P " ) )" C ) & ) ) ) " ) # D " ; R //Vários comandos em uma única linha while(a<=100) if(b==true) a++; P " D " 0 //Loop infinito sem comando ou comando vazio for( ; ; ) ; //Loop infinito com comando. Último ponto e vírgula representa o finalizador for( ; ; ) System.Console.Write("C# é legal");
  • 16. ' ! 9 ) ) " D 4 )" E) C ) ) 0 ) )" ") # C ) " ) ) ) ! 0 )" ) # " ) " E # )" " ) # 7 0 #4 - "B " ) #4 ) H ) E " 0 7 7 " " ) # " " )" " ) " " 0 0 " " 4 P 0 )" " " ) ) + ) " ! 4 0 4 4 ) " D " " # # $ )" ) ) " D " ) " # " 0 ) ) =) ) ) ) ) )) & ) ) 0 ) )" ") " ) )) " ) " D ) " )) " ! ) ) )) " )" " " ) " * +") " ) ) " ) ) ) ) " ) 4" ) / = 4 4 )" ) ) ) ) ) ) < using System; class Declares{ private static int f = 1000, g; //Variáveis de escopo de classe private const int m = 1000, n = 10000; //Constantes de escopo de classe public static void Main(){ //Constantes de escopo local const int x = 10; const long y = 100; //Variáveis de escopo local int a = 10; long b; b = 100; g = 10000; printf(x,y,a,b); } //Função private static void printf(int ix, long ly, int ia, long lb){ Console.WriteLine("Locaisnconstantes: x={0} y={1} váriaveis: a={2} b={3}",ix,ly,ia,lb); Console.WriteLine("Classenconstantes: m={0} n={1} váriaveis: f={2} g={3}",m,n,f,g); } }
  • 17. ! 4 " " > %4 " " > E N )" 4 + ! D * , * ' ! E) C ) 0 ) )" ") ) " ) # ") ) int x; int y; int z = 10; ! ) ) 7 < int x, y, z = 10; ) 0 ) )" ") ) " " ) ) 4" 7 7 ) ) " ) 0 " D . 0 ) )" ") " ) ) )) ) ) " " 0 )" #" ! ) ) " ) ) ) ) ) # ") = #" ) " ) ) # C ) " ) ) ) class MyClass{ private int x = 10; private int MyFunction(){ int x = 100; System.Console.Write(x); //Exibe o valor 100 } private int MyFunction2(){ System.Console.Write(x); //Exibe o valor 10 } }
  • 18. 3@ % & > ) " ) B" ) ) ) # ) ) ) )); 1 ) O # B" ) 0 B 7 ) ) " " ) 1 ) 7 " )" " 0" ) 0 ) " ; ) ) 7 using System; class Jumps{ public static void Main(){ bool a = true; goto mylabel; //Este comando não será executado if(a==true){ Console.Write("Verdadeiro"); goto end; } mylabel: Console.Write("Falso"); //o label é sempre seguido por um comando, neste caso um comando vazio end:; } } ' %E *& =) ) ) ) < 8 * 6 / ) " ) # ) 4 B " D E ) ) ) ) )") )" # " # " 7 6 * 7 ) ) " = ) ) " 4 " ) B " ) B" %)" ) ) # 6 4 # 4 //Loop infinito endless: goto endless; = " D ) # " $ )" ) )) " " " )) " % ) # C ) 7 " 0) " ) " ) ) 0) " # # =) 4 4 ) ) ) ) )<
  • 19. ong z = Sum(10,20); //continuação do programa... private static long Sum(int x, int y){ //Soma os valores e retorna um long return x+y; } private static bool boolFromint(int a){ //Verifica se o valor do inteiro é 0 e retorna false, senão retorna true if(a==0) return false; else return true; } private static void printf(string s){ //Imprime a string e retorna logo em seguida, cláusula return omitida System.Console.Write(s); } = * 6 " D D 4 ) " " " 4 * private static double Division(int x, int y){ //Se o divisor for zero disparar a excessão da BCL DivideByZeroException if(y==0) throw new DivideByZeroException(); return x/y; } =) ) 8 ) " D ) ) ) " 6 * 6* ( ( * = 8 " 4 )") ) )) B4 )" 4 = "0 8 )) B4 " # )") ) int b=0; for(int a = 0; a < 100; ++a){ //Loop infinito while(true){ if (++b==100) break; //Se b igual a 100, o break força a saída do loop while } b=0; continue; //Passa para próxima iteração do comando for System.Console.Write("a={0} b={1}",a,b); //Esta linha não é executada } //Continuação após o bloco for...
  • 20. $ =) ) ) ) " D ) ) )) " ) )); ) =) ) ( 6 *#D " )" = ( " D 4 )) 4 ))C ) 4 " ) E 0 ) " D ( " " ) ) )C ) ) ) C ) //if com uma única possibilidade. Exibe a string "Verdadeiro" no Console caso a //expressão (a==true) seja verdadeira if(a==true) System.Console.Write("Verdadeiro"); //if com uma única possibilidade. Exibe a string "Verdadeiro" no Console caso a //expressão (a==true) seja verdadeira, senão exibe a string "Falso" if(a==true) System.Console.Write("Verdadeiro"); else System.Console.Write("Falso"); & 4 )) ( ) " : ") ) )) " # * # 9)" 7 D 7 ) 4 )) )" ? @@ # ) 0 ) ( ( ) )" ") ) ) ) %)" " 0 " ) 4 ))C ) ) ! 4 < //&& (And). Somente a primeira função é executada if(MyFunc() && MyFunc2()); //|| (Or). Ambas funções são executadas if(MyFunc() || MyFunc2()); public static bool MyFunc(){ return false; } public static bool MyFunc2(){ return true; } E)) " ) ) = (" ) " # if(x==1) if(y==100) if(z==1000) System.Console.Write("OK"); ! " ;)" "- " ) 4 ))C ) ) ) ) ) ") < if(x==1 && y==100 && z==1000) System.Console.Write("OK"); = (" ) " # " ) (# # (7 4)" ) 7 ) )) ) ! )") ) ) ) ) 4 ))C ) # )") " D # C ) 0 ) 6 *) )"" )" " )"
  • 21. using System; class Ifs{ public static void Main(){ char chOpt; Console.WriteLine("1-Inserir"); Console.WriteLine("2-Atualizar"); Console.WriteLine("3-Apagar"); Console.WriteLine("4-Procurar"); Console.Write("Escolha entre [1] a [4]:"); //Verifica se os valores entrados esta entre 1 e 4 //caso contrário pede reentrada do{ chOpt = (char)Console.Read(); }while(chOpt<'1' || chOpt>'4'); if(chOpt=='1'){ Console.WriteLine("Inserir..."); //InsertFunction(); } else if(chOpt=='2'){ Console.WriteLine("Atualizar..."); //UpdateFunction(); } else if(chOpt=='3'){ Console.WriteLine("Apagar..."); //DeleteFunction(); } else{ Console.WriteLine("Procurar..."); //FindFunction(); } } = ( 0 ) O ) " ) # D " 0 ) " " G< [ " 0 )) U 4 ))C )< # -) ) ) " ) # ) int x; if(f==true) x = 100; else x = 1000; E) ) ) ) )""; ) < int x = f==true?100:1000;
  • 22. = 6 * " D " 4 )) " )" ) )" ") 4 ) ) =) )" " " " " ) 0 ) )" ) O " E 0 ) ( " D 7 7 ) " " = 4 4 " ) 6 * 4 " )" (< using System; class Switchs{ public static void Main(){ char chOpt; Console.WriteLine("1-Inserir"); Console.WriteLine("2-Atualizar"); Console.WriteLine("3-Apagar"); Console.WriteLine("4-Procurar"); Console.Write("Escolha entre [1] a [4]:"); //Verifica se os valores entrados esta entre 1 e 4 //caso contrário pede reentrada do{ chOpt = (char)Console.Read(); }while(chOpt<'1' || chOpt>'4'); switch(chOpt){ case '1': Console.WriteLine("Inserir..."); //InsertFunction(); break; case '2': Console.WriteLine("Atualizar..."); //UpdateFunction(); break; case '3': Console.WriteLine("Apagar..."); //DeleteFunction(); break; default: Console.WriteLine("Procurar..."); //FindFunction(); } } ! 4 " " 6 * %4 " " 6 * E I )" 4
  • 23. + ! F * , * $# $ " " 6 * ) " ;)" ) ) (( 0 ) # ) 8/ )) ) " ) 0 ) ) ) )) ) 8 ) # " ( * * ) " " ) 7 0 ) B ) )" ") ) 6 */ 0) " D P ) 0 ) ) ) " ) ) " 7 ) 7 " ) = 4 4 ) " )) < switch(sProduct){ case “Windows 2000”: case “Windows NT”: System.Console.Write(“Sistema Operacional”); break; case “MSDE”: System.Console.Write(“Mecanismo Simplificado”); goto case “SQL Server”; case “SQL Server”: System.Console.Write(“Banco de Dados”); } E)) ( )); " 6 * ) # switch(x){ case 10: switch(y){ case 100: case 1000: } break; case 100: break; } 7 ! *
  • 24. ) ) ) " 4 " " " ) " " %)" ) - # # " % #D " ) ) " < 6* ( ( * = ( )) U C ) ) ) ) " ; R " ) : ") )< D " % W " ) 4 )) ) " ) ; for(int x=0; x < 100; ++x) System.Console.WriteLine(x); for(;;) System.Console.WriteLine(“Hello, World!”); for(int y=100, int x = 0; x < y; ++x, --y) System.Console.WriteLine(y); V 0 ) ( )) D ) ) " 4 )) 4 ))C ) D ) 4 " ) 7 ) )" ) ") )" )) ) D )" ) " ) 0 ) "0 ( )) $ ) " # ) )) ) ) 4 " ) ) # " " )) " " )) %)" # 4 " " " 7 ) + # ) ( 8) + " )" " " = # " using System; class Fibonacci{ public static void Main(){ int iVezes; Console.Write("Entre de 1 a 100 para o n° de elementos a exibir na sequência de Fibonacci:"); //Verifica se os valores entrados esta entre 1 e 100 //caso contrário pede reentrada do{ iVezes = Console.ReadLine().ToInt32(); }while(iVezes<1 || iVezes>100); //Cria o vetor dinâmicamente int[] iSeq = new int[iVezes]; iSeq[0] = 1; //Preenche o vetor if(iVezes > 1){ iSeq[1] = 1;
  • 25. for(int a=2; a < iVezes; ++a) iSeq[a] = iSeq[a-1] + iSeq[a-2]; } //Exibe o vetor for(int a=0; a < iVezes; ++a){ Console.Write(iSeq[a]); Console.Write(" "); } } } ! 4 " " A %4 " " A E U )" 4 + ! G * , * + = ( * ) ") = B 4 " # 4 " < using System; class Fibonacci{ public static void Main(){ int iVezes; Console.Write("Entre de 1 a 100 para o n° de elementos a exibir na sequência de Fibonacci:");
  • 26. //Verifica se os valores entrados esta entre 1 e 100 //caso contrário pede reentrada do{ iVezes = Console.ReadLine().ToInt32(); }while(iVezes<1 || iVezes>100); //Cria o vetor dinâmicamente int[] iSeq = new int[iVezes]; iSeq[0] = 1; //Preenche o vetor if(iVezes > 1){ iSeq[1] = 1; for(int a=2; a < iVezes; ++a) iSeq[a] = iSeq[a-1] + iSeq[a-2]; } //Exibe o vetor foreach(int a in iSeq){ Console.Write(a); Console.Write(" "); } } } =) " ) )) ? $%& 6 A " " # $3 7 )) " B 3 7 " " # $3 7 )) U )< 7 " +" " " 1 4 7 B4 " " 2 7 D ) " " " V 7 " # )) 7 " $3 $3 " D ( * = ( * " ) 7 : 4 < System.Collections.IEnumerator ienumSeq = iSeq.GetEnumerator(); while(ienumSeq.MoveNext()){ System.Console.WriteLine(ienumSeq.Current); } foreach(int a in iSeq){ System.Console.WriteLine(a); }
  • 27. =) ) 6* ": " ;)" ) ) ") E ) 4 " " ) $ " " ) 4 " ) D) 6* ) 4 " ) D) )" 7 4 )) " # int a = 0; bool f = true; while(f){ if(++a==100) f = true; System.Console.WriteLine(a); } int a = 0; bool f = true; do{ if(++a==100) f = true; System.Console.WriteLine(a); } while(f); E)) ) ) ( ( * ) 0 ) ) 8 ) " D ) " # # 4 4 ! = " ) ) # ) )" ") ) ) " ) " ) " " ) < * ( * 8 * 8 ( (4 8 =) ) * ( ) " D ) " " " " 4 " 4 using System; class try_catch_finally{ public static void Main(){ try{ Console.WriteLine("Bloco try"); throw new NullReferenceException(); } catch(DivideByZeroException e){ Console.WriteLine("Bloco catch #1. Mensagem: {0}",e.Message); } catch(NullReferenceException e){
  • 28. Console.WriteLine("Bloco catch #2. Mensagem: {0}",e.Message); } catch(Exception e){ Console.WriteLine("Bloco catch #3. Mensagem: {0}",e.Message); } finally{ Console.WriteLine("Bloco finally"); } } } =) ) * 8 * 8 " " ( 6 " " = * 8 ) 4 . ( 634 * 8 " = W " ' * 8 ( " " ( 6 * 8 W " ' * 8 - " " ( 6 * 8 )" ) ) # using System; class Overflows{ public static void Main(){ try{ short a = 32767; short b = (short)(a + 1); Console.Write("{1} + 1 = {0}",b,a); } catch(OverflowException e){ Console.WriteLine("Mensagem: {0}",e.Message); } } } ! 4 " " * 8 C . ( 6 * 8 %4 " " . ( 6 > ) " " * 8 # . ( 6 * 8 %4 " " . ( 6 E Q )" ) C ) 4 C )
  • 29. + ! H * 6 , 6 * !4 # =) ) * 8 * 8 ) " D ) " " ) # using System; class Overflows2{ public static void Main(){ try{ short a = 32767; short b = unchecked((short)(a + 1)); Console.WriteLine("unchecked: {1} + 1 = {0}",b,a); short c = 32767; short d = checked((short)(c + 1)); Console.WriteLine("checked: {1} + 1 = {0}",d,c); } catch(OverflowException e){ Console.WriteLine("checked: Mensagem - {0}",e.Message); } } } =) ) ( (4 " D " ) = W " (( " " B " " " " " ) ! 4 <
  • 30. using System; class Pointers{ unsafe public static void Process(int[] a){ fixed(int* pa = a){ for(int i=0;i<a.Length;++i) Console.Write("{0} ",*(pa+i)); } } public static void Main(){ int[] arr = {1,2,3,4,5,6,7,8,9,0}; unsafe Process(arr); } } = 8 " D 7 )) ) " " " using System; using System.Threading; class Locks{ static int x=0; public static void ThreadProc(){ lock(typeof(Locks)){ x++; } Console.WriteLine("x = {0}",x); } public static void Main(){ for(int a=0; a<10; ++a){ Thread t = new Thread(new ThreadStart(ThreadProc)); t.Start(); } } }
  • 31. $ )" " ) ) " ) ) ) # 4 ) " ) " D ) =) ) B" ) ) " " ) ) ) ) 4 ) = " ) C ) ) )) ) $%& 6 A) ) ) / ""<'' ) ) #" ' )" ' 4" ' # " ) ""<''666 ) #" ' "' # " ) ""<'' ) ) #" ' "' ""<'' " " " '
  • 32. ; * ! ! " ) %)") ) " ) ); ) ) " D ) )" 4 ))C ) E ) "4 4 )) ) ) "4 (( =) ) ) " D ) ) ) # ) E " N ) " )) ) )C ) 1 ; * ! ! 2 3 456 17$ 8 9 : ; < = >? ;; << @A $ BB CC D EE >E B C BE CE 2 @A E E E 4E 5E 6E ;E <E =E BBE CCE 2 F @A GH 8: IJ ! $ 8 @A @A : @A 0 9 @A K L K F A % 9 M M @A @ 4 C GH; V 4 )) )) O" ) C ) : ) ) ) ) $ " ) 4 ))C ) ) ) )7 " 4 " C ) " : ) " " ) ) ") ) x = 10 + 100 * 1000 // x = 100010 x = (10 + 100) * 1000 // x = 110000 E " I 4 ) ) : 1 ? )! 5 * ! ! N O 8F: F 8F: GFHF FP 9 K L M M O >? F.F8Q:F R K % 456 2 % BB CC D B C BE CEB C BE CE K @A EE >E 17$ 2S! ; 17$ T/D = 17$ /D < 2S! ;; /D << IJ 2 @A E 4E 5E 6E E E BBE CCE ;E =E <E
  • 33. * ! ! I! C =) ) " " ) ) " D ) ) 4 ))C ) 4 0 ) $ 4 )) ) D ) " ) # # 4 ) $ )" ) 4 )) . ( 634 " " )" " " ) " * 8 " ) =) "B ) 4 ) ) ) 7 )) ) ) ) " D )< • = # 6 C ) " " ) " ) 4 . ( 634 ) " " ) ) # " ) " R • > ) D C ) " " ) " ) ) 4 > 7 D 34 R • = C ) " " ) ) " # " " ) ) ) " # " " 9%%%2LQ " " # 6 ) D 4 % ) ) ) " ) # " 1 1 1 1 R • = # 6 C ) " " ) ) ) 4 )) . ( 634 R • > ) D C ) " " ) ) ) 4 )) > 7 D 34 R =) ) 0 ) ( S ) " D ) ) " ) O ) " " ) " " x = +1000 // x = 1000 x = -1000 // x = -1000 =) ) 0 ) ( - ' ] ) " D ) ) 4 ))C ) 4 0 ) " ) ) ) " " ) ) = 0 ( 7 " D " )" ) ) " " $ " " 7 4)" )" ) O ) 4 )) )"# 4 " " " " = 0 ] " " ) #B E F =) 4 ) 4 )" )) ) C ) string x = “Hello” + “World” // x = ”HelloWorld” string x = “Valor = ” + 100 // x = ”Valor = 100” int x = 1000 % 11 // x = 10 int x = 1000 – ( 1000 / 11 ) * 11 // x = 10 = B 4 " D ) ) " " ) $ " " D " ") " ) = ",- "1 " ) )) " )" ) W " = " * " O W " ) )) 4 "0 " " W " ) " ;
  • 34. D 4 !G"E 0 - " " )" ) " < using System; class Arithmetics{ public static void Main(string[] args){ //Verifica o número de argumentos entrados if(args.Length == 3){ int x=0,y=0; //Convertem os valores dos argumentos 2 e 3 para inteiro 32-bit //Se ocorrer algum erro o modo de utilização try{ x = args[1].ToInt32(); y = args[2].ToInt32(); } catch{ usage(); return; } //Efetua a operação selecionada no primeiro argumento switch(args[0]){ case "+": Console.Write("Valor da soma = {0}", x+y); break; case "-": Console.Write("Valor da subtração = {0}", x-y); break; case "/": Console.Write("Valor da divisão = {0}", x/y); break; case "*": Console.Write("Valor da multiplicação = {0}", x*y); break; case "%": Console.Write("Valor da sobra = {0}", x%y); break; default: usage(); } else{ usage(); } } public static void usage(){ //Modo de utilização Console.WriteLine("Modo de usar: Arithmetics operador valor1 valor2"); Console.WriteLine("Ex.: Arithmetics + 100 200"); } }
  • 35. ! 4 " " ? * %4 " " ? * : & 4 ? * C :GG&GG E N )" 4 + ! * , * I! * ! ! $ 4 =) ) ^^ __ 4 " * )7 * " ) " " V ^^ " D " ) ) # " ) " " ) ) # " D V __ " D C ) " ) ) # " ) " " ) ) # " D ) " ) ) # " ) " " ) ) # " D ) # ) " ) # " E) 4 ))C ) 7 " D )) ) ) " D " " O Console.WriteLine(1 << 2); // 4 -> 1 representa 001 4 representa 100 Console.WriteLine(4 >> 2); // 1 Console.WriteLine(-1 << 2); // -4 Console.WriteLine(-4 >> 2); // -1 Console.WriteLine(1 << 32); // 1 -> 1 (int) inteiro 32-bit Console.WriteLine(1L << 32); // 4294967296 -> 1 (long) inteiro 64-bit * ! ! 7 ! ' ! =) ) (( -- " ) " = " 7 ) # " D * )7 0 ) + #4 ) " ; ") ) " D int x = 1000; // x = 1000 x++; // x = 1001 int y = x++; // x = 1002 , y = 1001 x--; // x = 1001 y = --x; // x = 1000 , y = 1000
  • 36. ++x; // x = 1001 --x; // x = 1000 y = ++x; // x = 1001 , y = 1001 * ! ! @ J3 %)) ) ) ) " D ) 4 ))C ) ) " " " ;)" = ` " " bool x = true bool y = !x // y = false if(!y) System.Console.Write("y é verdadeiro") =) ) ) HH `H ^ _ ^H _H ) " ) " , ( ) " " ! 4 99 7 D ) # )" "" " 0 4 )) " ) " ) " ) * " " ) ! " " ) ) HH `H) # ) 7 " D " ( ! )" ") ) " ) ) ) )" " ! )) ) #" # : )) = O ( 7 # : )" )) ,)" " ) ) ) HH `H) ) ) E ) " " " ) ) using System; class CX{ public int x; public int y; int m_z; public int z{ set{ m_z = value; } get{ return m_z; } } } struct SX{ public int x; public int y; } class CompareTypes{ public static void Main(){ CX cx1 = new CX(); CX cx2 = new CX();
  • 37. SX sx1, sx2; sx2.x = sx1.x = cx2.x = cx1.x = 100; sx2.y = sx1.y = cx2.y = cx1.y = 200; cx2.z = cx1.z = 300; //Comparando tipos primitivos Console.WriteLine("nTipos Primitivos"); if(sx1.x==sx2.x) Console.WriteLine("sx1.x é igual a sx2.x"); else Console.WriteLine("sx1.x é diferente de sx2.x"); if(cx1.y==cx2.y) Console.WriteLine("cx1.y é igual a cx2.y"); else Console.WriteLine("cx1.y é diferente de cx2.y"); if(sx1.x>=sx1.y) Console.WriteLine("sx1.x é maior ou igual a sx1.y"); else Console.WriteLine("sx1.x é menor que sx1.y"); if(cx1.x<=cx1.y) Console.WriteLine("cx1.x é menor ou igual a cx1.y"); else Console.WriteLine("cx1.x é maior que cx1.y"); if(sx1.x>sx1.y) Console.WriteLine("sx1.x é maior que sx1.y"); else Console.WriteLine("sx1.x é menor ou igual a sx1.y"); if(cx1.x<cx1.y) Console.WriteLine("cx1.x é menor que cx1.y"); else Console.WriteLine("cx1.x é maior ou igual a cx1.y"); if(sx1.x!=sx1.y) Console.WriteLine("sx1.x é diferente a sx1.y"); else Console.WriteLine("sx1.x é igual a sx1.y"); //Comparando classes Console.WriteLine("nClasses"); if(cx1==cx2) Console.WriteLine("cx1 é igual a cx2"); else Console.WriteLine("cx1 é diferente de cx2"); cx2 = cx1; if(cx1==cx2) Console.WriteLine("cx1 é igual a cx2"); else Console.WriteLine("cx1 é diferente de cx2"); //Comparando structs Console.WriteLine("nStructs");
  • 38. if((sx1.x==sx2.x) && (sx1.y==sx2.y)) Console.WriteLine("sx1 é igual a sx2"); else Console.WriteLine("sx1 é diferente de sx2"); } } =) ) B ) a bc d aa bb ( ) " ) C ) "- - " E$> "- - "= "- - "?= "- - "$=& E$> = # ) =) ) aa bb )) # " "- " 4 )) = # " "- " ) D )" " 4 )) 7 E$> " # ) = " true & false // false 0x1 & 0x10 // 0x0 true | false // true 0x1 & 0x10 // 0x11 false ^ true // false 0x1 ^ 0x10 // 0x11 ~0x000000ff // 0xffffff00 int x = 10, y = 100; //A primeira avaliação (x==100) retorna false portanto o restante é desprezado if(x==100 && y==10) System.Console.Write("Verdadeiro"); //A primeira avaliação (x==10) retorna true portanto o restante é desprezado if(x==10 || y==100) System.Console.Write("Verdadeiro"); * ! ! I ! %)") ) ) " ) ) )") ) " D ) ) 0 = H ) " " ) ) ) + 0 )7 " 0 ) " 4 )) " int x = 10; int y = x; int z = x + y; =) ) (H -H H 'H ]H aH bH cH ^^H __H ) " " )" 7 " " " )" 4 )) x = x + 10; //Pode ser escrito como: x+= 10; // x <op>= <valor> % ) ) ) ) " D ) ) C ) + " )) ) C ) double x = 10.111; float z = (float)(x * 10); float k+= (float)x;
  • 39. * ! ! 1 * =) ) ( ) " D ) " " +" " 4 = ( " " +" 7 )"W ,)" &, = ) # ) +" "; " " )" ) )) " # )" " " " using System.WinForms; using System.Reflection; class SimpleReflections{ public static void Main(){ System.Type t = typeof(MessageBox); object o = System.Activator.CreateInstance(t); object[] op = {"Hello, World!"}; t.InvokeMember("Show",BindingFlags.InvokeMethod,null,o,op); } } ! 4 " " A 2 ( %4 " " 2 ( E I )" 4 E ) ) ) )" ) )" 4 ) -) 2 ( 7 " ) ) )) ) )) ) ) 2 ( = " ) ) ) # 0 ) 5 6) 7 )" )) ) ) A " -) )) , A V ) " ) 7 4 ) ) " 4 A
  • 40. + ! 0 * , * $ * 3 4 = H ( ) ) ) % " " ,") = H ( " ( )B ) " D " ( ) ) using System; struct SX{ public int x, y, z; } class Sizeofs{ public static void Main(){ unsafe{ Console.WriteLine("O tamanho do byte em bytes é {0}.", sizeof(byte)); Console.WriteLine("O tamanho do short em bytes é {0}.", sizeof(short)); Console.WriteLine("O tamanho do int em bytes é {0}.", sizeof(int)); Console.WriteLine("O tamanho do long em bytes é {0}.", sizeof(long)); Console.WriteLine("O tamanho do SX em bytes é {0}.", sizeof(SX)); } } } = " ) )- 7 " C ) " ) ) 6 8 = " D 4 ) " ( "; ) ) " )" ) 7 < 4 , I 4 , = 6 ) # " )) +" * ) )" " = )" A B )" A )) " " ) 7 : )) ) " " ( string x = "Isto é uma string"; object y = x as System.Collections.Stack; // y = null
  • 41. object z = x as string; // z = "Isto é uma string" System.Collections.Stack stack = new System.Collections.Stack() using System; class StackAllocs{ public static void Main(string[] args){ int count = args[0].ToInt32(); unsafe{ int* pi = stackalloc int[count]; for(int a = 0; a < count; ++a) pi[a] = a+1; for(int a = 0; a < count; ++a,++pi) Console.WriteLine(*pi); } } } * ! ! ! , !4 # E) )- A A ) " D ) ) 4 )) " 7 # 6 0 " " %)") ) ) ) # 4 )) = " " 7 " A " " )); " 0- W " * 8 C * 8 * 8 # * 8 ) ) " * 8 * 8 B -# " " " " 4 )) ) " [ " " ) 7 ) C ) 7 #D # # 6< • ((-- - 0 (-' • )C ) O ) 4 ; ") " " ) " ) checked{ byte x = 255; System.Console.Write(++x); } unchecked{ byte x = 255; System.Console.Write(++x); } byte x = 255; Console.Write(checked(++x)); byte x = 255; Console.Write(unchecked(++x)); class Overflows{ public static void Main(){
  • 42. byte x = 255; System.Console.Write(++x); } } B # )" . ( 6 * 8 C ) 4 ) 0 4 )) . ( 634 B # )" . ( 6 * 8 # ) 4 )" 0 3 * ! ! 7 ! ) ! =) ) -_ ef a ) " D ) " ) ) ) ) ) ) " " " ( = 4 4 )" ) )") )< struct SX{ public int x; } class Pointers{ public static void Main(){ SX sx; sx.x = 0; unsafe{ SX* psx = &sx; psx->x = 10; } System.Console.Write(sx.x); } } ! * ! ! = ) " )) )) " # )" " " )) 7 # J ( ) " # System.Console.Write(“Uso do . com namespace e class”); class CX{ public int x; } CX cx; cx.xR struct SX{ public int x; } SX sx;
  • 43. sx.xR = ef " D + " " " ) 4 " ") x[1] = 1000; = " D " )) " 4 )) ) ) 4 ; " byte = (byte)100L; int x = ( 1 + 2 ) * 3; = G< ) + " 4 )) " ) )) ) $ " " D ) )" (- ) ) " ) 0 ! )" 0" " " D if(a==1 && b ==2) x = 100; else x =1000; x = (a==1 && b ==2) ? 100 : 1000; = ( S " D " + " " class Delegates{ delegate void Trace(string s); public static void Main(){ Trace trace = new Trace(TraceConsole); Trace trace2 = new Trace(TraceMsgBox); trace += trace2; trace("Isto é um delegate com 2 notificações!"); trace -= trace2; trace("Isto é um delegate com 1 notificação!"); } static void TraceConsole(string st){ System.Console.WriteLine(st); } static void TraceMsgBox(string st){ System.WinForms.MessageBox.Show(st); } } B " D > A * ! ! = 7 ! C ) O ) )) ) )C ) ; ") 7 ) ) ) ) "- " " # " %)) )
  • 44. )C ) ) # ") " " " " " ) "0 ) 4 ; " ) short x = 100; int z = x; // operador built-in int short k = (short)z; // necessidade de cast $ )" " ) ) " ) ) ) [ )" " D ) .0 ) 4 ) ) ) ) ) ) ) ) C ) " ) " ) ) / ""<''666 ) #" ' ) ' "' ""<'' ) ) #" ' "' ""<'' " ) ) '
  • 45. ? , 6 $ ) ( 6 8 ) ) 4 ))C ) C ) 7 ) g ) ) C ) ) " " ) ) ) # ) E ) " D B ) " 4 =1 7 " D 23 K ' " " " 4 ))C ) )" " ) ) . ) / ) 7 " D .1322.2 +" 322 " )) 5 UI " " " 4 ))C ) )" " ) )) (( ( " " ) E ) )) ) ) # C ) $%& 6 A # 4 " " " 4 ))C ) )" " ) > )" # " " D-) )" )" " # # ( V 4 )) +" 34 ) "0- = " * +") " 7 ) + 4 )) # ) 0 7 34 " )) 4 )) - # E) 4 ))C ) - # ) ) ) ) ) " ) " N E) 4 ))C ) ) ) ) ) # )< " ) * 6 # )"W )) 34 ") )"W ) " )) " ) ) 4 ))C ) 7 ) " ) " =) " D " " " 4 ))C ) )" " ) ) < S " B *S #" " " 4 )) ( S ) 4 " B) ) 4 )) * 6S ) 4 )) 1 B 6 / /R )F K @A 7 & %3 & M/% 9)F K U K 8 M: O $ S D )F K V 8 : 3 L % Q K L )F K O K F A % )F K % A FK# K F @A 2 Q K R )F K L F/ /D $ )F K # 3 U L R S KK )F K @A $ A 2 )F K !% W )F K /% 9)F K 3 !% W )F K % A K L /% 9)F K % 9 K @A 3 M $ " B 4 " D ) ) # ) )) bool fSuccess = Process(100,200,300); //true se sucesso, false se falha if(!fSuccess){ System.Console.WriteLine(“Processamento com erro”); return; } 9)" # " " )" ) # )) " # # ) )) # % B ) 0 ) " 7 7 ) 0 ) " ) ) 4 ))C )<
  • 46. Process(100,200,300); //Gera excessão se falha = * 6 " D ) ) D : ) " ) " 4 ) + 4 )) = W " ) ) )) ,)" %4 " using System; class Throws{ public static void Main(string[] args){ //Verifica se somente uma string foi entrada if(args.Length==1) System.Console.WriteLine(args[0]); else{ ArgumentOutOfRangeException ex; ex = new ArgumentOutOfRangeException("Utilize uma string somente"); throw(ex); //Dispara a excessão } } } = " # ) B ) " ) )) )< using System; class Throws{ public static void Main(string[] args){ //Verifica se somente uma string foi entrada if(args.Length==1) System.Console.WriteLine(args[0]); else //Dispara a excessão throw(new ArgumentOutOfRangeException("Utilize uma string somente")); } } = P ) )" C ) *) ) 4 " " 4 )) > " * " B " " " 4 )) = " " " 4 )) " # 07 ) + 7 4 )) ) * # 4 )) ) 4 )) " ) 0 4 " ) " ) ) D ) )) " " " " ) 7 : ) ) * = *" ) " ) # ) " " 7 7 4 )) " using System;
  • 47. class Catchs{ public static void Main(){ int iMax=0; Console.Write("Entre um inteiro para valor máximo, entre 0 e o máximo será sorteado:"); try{ iMax = Console.ReadLine().ToInt32(); Random r = new Random(); //Instância a classe Random int iRand = r.Next(1,iMax); //Sorteia randômincamente entre 0 e máximo Console.Write("O valor sorteado entre 1 e {1} é {0}", iRand, iMax); } catch(ArgumentException){ Console.WriteLine("0 não é um valor válido"); } catch(Exception e){ Console.WriteLine(e); } } } ! 4 " " * %4 " " * E N )" 4 $ " N 7 4 3 ) 4 )) ? 34 7 " "" " 4 " ) ) )"W +" )) 34 + ! : * , * = " )) " " " 4 ))C ) # ) <
  • 48. object o = (int)100; try{ string s = (string)o; //Produz a excessão InvalidCastException } catch{ Console.Write("Ocorreu uma excessão"); } = " # ) B " D )) 34 " # ) " ) 4 )) object o = (int)100; try{ string s = (string)o; //Produz a excessão InvalidCastException } catch(Exception e){ Console.Write(e); } = E )" ( " 4 ) " 4 )) object o = (int)100; try{ OpenDB(); //Abre o banco de dados e produz a excessão } finally{ CloseDB(); } & " ( " D ) ) ) ) 4 # 7 4 using System; class TryFinally{ public static void Main(){ try{ throw new Exception("A excessão..."); //Dispara a excessão } finally{ Console.WriteLine("O bloco finally é sempre executado..."); } Console.WriteLine("Esta linha não será executada..."); } } " " " " 7 7 4 )) " ) 4 8 7 " " " 4 )) )
  • 49. " " # " * % ) ) * ( ) " D ) + " = using System; using System.Xml; class TryCatchFinally{ public static void Main(){ XmlDocument doc = null; try{ doc = new XmlDocument(); doc.LoadXml("<Exception>The Exception</Exception>"); //Carrega o conteúdo throw new Exception(doc.InnerText); //Dispara a excessão } catch(OutOfMemoryException){ //Tratamento aqui } catch(NullReferenceException){ //Tratamento aqui } catch(Exception e){ //Tratamento aqui Console.WriteLine("Excessão ocorrida no programa {0}", e); } finally{ Console.WriteLine(@"Gravando o Documento no C:..."); //Uso do verbatim (@) doc.Save(@"c:exception.xml"); //Grava o conteúdo } Console.WriteLine("Esta linha não será executada..."); } } ! 4 " " L ' *A %4 "- " ' *A + 3 ! # = # 4 4 4" ) ) ) " # C ) ) " " ) ) 4)" " )) ) ) ) 4" ) B 4 # )) )"
  • 50. 4 " # A : 7 # A &7 " " " D ; 0 " )" 4 )) $ 4. .(2 7 " " ) 4" # using System; class Flux{ static int[] arr = new int[3]; //Declara um array de inteiros de 3 posições public static void Main(){ try{ Func1(); } catch(Exception e){ Console.WriteLine(e); } } public static void Func1(){ Func2(); } public static void Func2(){ arr[3] = 100; } } = " " 7 " # # 4 " " " ) 4 ))C ) * 6 ) + 4 * 6 " * ) 4 )) 7 0) " " ) ) ) ) 7 ") . #7 )" " " B 4 < using System; class Rethrows{ static int[] arr = new int[3]; //Declara um array de inteiros de 3 posições public static void Main(){ try{ Func1(); } catch(Exception){ //Trata o rethrowing Console.WriteLine("O índice máximo para o array é {0}", arr.GetUpperBound(0)); } } public static void Func1(){ try{ Func2(); } catch(IndexOutOfRangeException e){ //Trata a excessão gerada Console.WriteLine(e); throw e; //Rethrowing } } public static void Func2(){
  • 51. arr[3] = 100; //Excessão IndexOutOfRangeException } } > " )); " " " = B 4 0 " " * 6 " ) )" " " ") 4 ))C ) ) " D ) )" ) < using System; class TryTry{ static int[] arr = new int[3]; public static void Main(){ try{ Func1(); } catch(IndexOutOfRangeException e){ Console.WriteLine(e); try{ throw e; } catch(Exception){ Console.WriteLine("O índice máximo para o array é {0}", arr.GetUpperBound(0)); } } } public static void Func1(){ Func2(); } public static void Func2(){ arr[3] = 100; } } 1 * ! 6 * ! = ) " U" ) " " ") 4 ))C ) ) )< ( * ( * #( * . ) ) ) C ) " " ) 0 # < A * ) 4 " ) " ) 4 )) %)") " " ) ) ) " ) ( try{ throw new System.Exception(); } finally{ System.Console.Write(“Sempre sou executado”); } A * ) 4 " ) ) 7 4 )) " " 7 7 " %)") " " ) ) ) " ) *) W " ) #"
  • 52. try{ throw new System.Exception(); } catch{ System.Console.Write(“Sou executado em caso de qualquer excessão”); } ' #( * 4 " 7 4 )) " ) ;# ) ) %)" " " ) " * W " #" try{ throw new System.MulticastNotSupportedException(); } catch(System.NullReferenceException){ System.Console.Write(“Sou executado em NullReferenceException”); } catch(System.ArithmeticException){ System.Console.Write(“Sou executado em ArithmeticException”); } catch(System. MulticastNotSupportedException){ System.Console.Write(“Sou executado em MulticastNotSupportedException”); } = " " " " " $%& #( * 7 ) ) # B 4 < using System; class UserFilter{ public static void Main(){ int iDivd=0, iDivs=0; Console.Write("Entre um inteiro para o Dividendo:"); iDivd = Console.ReadLine().ToInt32(); Console.Write("Entre um inteiro para o Divisor:"); iDivs = Console.ReadLine().ToInt32(); try{ double dResult = (double)iDivd/iDivs; Console.WriteLine("{0}/{1} = {2,0:N5}",iDivd,iDivs,dResult); } catch(Exception){ //Simulando o filtro if(iDivd==0 && iDivs==0){ Console.WriteLine("0/0 é indeterminado"); return; } if(iDivs==0){ Console.WriteLine("0 como divisor é indefinido"); return; } }
  • 53. } } I , * E # ) D ) 4 )) " ) )) ) 34 % # ) # C ) ))0 ) " " " ) 4 ))C ) )) ) ) " ) ) 7 " D ) # C ) ))0 ) ") $ " )"W )) " D " ) * ) ) 4 ) " ) . ) ) ) ) )) 34 " )" "4" ) catch(System.Exception e){ System.Console.WriteLine(e.Message); } )) # )" "4" +" catch(System.Exception e){ System.Console.WriteLine(e.Source); } 8 )) )" AP $ P 8 7 + catch(System.Exception e){ System.Console.WriteLine(e.HelpLink); } 8' )) )" ) 7 : ) 8 V 4 )) 8 ) " 3 8' catch(System.Exception e){ System.Console.WriteLine(e.StackTrace); } $ 34 " # : 4 )) " throw e.InnerException; ' " " 7 ) )" 4 )) )" " ) 0" " " ) )) * 7 " ) 2 ( System.Reflection.MethodBase mb = e.TargetSite; if(mb.IsStatic) Console.Write(“Membro que disparou a excessão é static”); B 7 34 " # : 4 )) " 9" " )" " " D $ 34
  • 54. throw e.GetBaseException(); 8 # AP $ P 8 7 + %)" " # 8 e.SetHelpLink(“http://www.microsoft.com/brasil/msdn”); using System; public class Exceptions{ public static void Main(){ try{ FillStack(); } catch(Exception e){ //Utilizando os membros da classe Exception Console.WriteLine("Exception Members"); e.Source = "internal FillStack Function"; Console.WriteLine("Source: {0}",e.Source); Console.WriteLine("Message: {0}",e.Message); e.SetHelpLink(@"C:Microsoft.NetFrameworkSDKDocscpref.chm"); Console.WriteLine("HelpLink: {0}",e.HelpLink); Console.WriteLine("StackTrace: {0}",e.StackTrace); System.Reflection.MethodBase mb = e.TargetSite; if(mb.IsStatic) Console.Write("Membro que disparou a excessão é static"); } } internal static void FillStack(){ //Simulando esta linha - FillStack(); throw new StackOverflowException(); } } =) ) )" " ) )) ) < • 34 M- D • 34 M- D ) ) ;# • 34 /34 M- D ) ) ;# # : 4 )) " E )) 34 ) " " # $ H 7 " +" " ) D ) D 4 * A! / ) " )) 4 )) )) 34 ) ) ) ) E 4 )) 4 )) .6 34
  • 55. ) ) )" " ) ) ) ) )) " ) " ) )) " ) - using System; using System.WinForms; internal class MyOwnException: Exception{ public MyOwnException():base(){} public MyOwnException(string msg):base(msg){} public MyOwnException(string msg, Exception ie):base(msg,ie){} } public class MyApp{ public static void Main(){ try{ throw new MyOwnException("Excessão disparada...",new CoreException()); } catch(MyOwnException e){ e.Source = "MyApp class"; MessageBox.Show(e.Message,e.Source,MessageBox.OK|MessageBox.IconError); } } } ! 4 " " A .6 34 # I 4 "- " .6 34 + ! ; * , * - K # , *
  • 56. $ )" " ) " " " " 4 )) )" " ) ) ) ) ) ) " B " )); ) g ) . 7 ) ) )"" C ) ) ) " C ) ") ) ) 4 # 7 = " " " " 7 "0 " ) ) " D " " " 4 )) )) )"D = " " " 4 )) 7 )" " P" D )" ) "0D ") #; ) # / ""<'' ) ) #" ' ,'6 ' ) ) ' "3QIQI33N " ""<'' ) ) #" ' )" ' 4" ' # " ) ""<''666 ) #" ' "' # " ) ""<'' ) ) #" ' "' ""<'' " " " ' ""<''666 ) #" ' ) ' )