Profil von 克阳۰•● ❤ ●•۰午夜阳光☺☊☺阳光地带۰•● ...FotosBlogListen Extras Hilfe

۰•● ❤ ●•۰午夜阳光☺☊☺阳光地带۰•● ❤ ●•۰

ﺴ๑۩๑๑۩۞۩๑๑۩๑ﺴ ☞ 黑夜给了我黑色的眼睛➽我却用它来寻找光明 ☜ ﺴ๑۩๑๑۩۞۩๑๑۩๑ﺴ
Foto 1 von 135
counter statistics
24 Februar

vb.net和c#语法比较

 

VB.NET

C#

Comments
' Single line only
Rem Single line only
// Single line
/* Multiple
    line  */
/// XML comments on single line
/** XML comments on multiple lines */
Data Types
Value Types
Boolean
Byte
Char   (example: "A"c)
Short, Integer, Long
Single, Double
Decimal
Date

Reference Types
Object
String
 

Dim x As Integer
Console.WriteLine(x.GetType())     ' Prints System.Int32
Console.WriteLine(TypeName(x))  ' Prints Integer

' Type conversion
Dim numDecimal As Single = 3.5
Dim numInt As Integer
numInt = CType(numDecimal, Integer)   ' set to 4 (Banker's rounding)
numInt = CInt(numDecimal)  ' same result as CType
numInt = Int(numDecimal)    ' set to 3 (Int function truncates the decimal)

Value Types
bool
byte, sbyte
char   (example: 'A')
short, ushort, int, uint, long, ulong
float, double
decimal
DateTime   (not a built-in C# type)

Reference Types
object
string
 

int x;
Console.WriteLine(x.GetType());    // Prints System.Int32
Console.WriteLine(typeof(int));      // Prints System.Int32


// Type conversion

double numDecimal = 3.5;
int numInt = (int) numDecimal;   // set to 3  (truncates decimal)

Constants
Const MAX_STUDENTS As Integer = 25 const int MAX_STUDENTS = 25;
Enumerations
Enum Action
  Start 
  [Stop]   ' Stop is a reserved word
  Rewind
  Forward
End Enum

Enum Status
  Flunk = 50
  Pass = 70
  Excel = 90
End Enum

Dim a As Action = Action.Stop
If a <> Action.Start Then Console.WriteLine(a)     ' Prints 1

Console.WriteLine(Status.Pass)     ' Prints 70

Dim s As Type = GetType(Status)
Console.WriteLine([Enum].GetName(s, Status.Pass))    ' Prints Pass
enum Action {Start, Stop, Rewind, Forward};
enum Status {Flunk = 50, Pass = 70, Excel = 90};

Action a = Action.Stop;
if (a != Action.Start)
  Console.WriteLine(a + " is " + (int) a);    // Prints "Stop is 1"

Console.WriteLine(Status.Pass);    // Prints Pass
Operators
Comparison
=  <  >  <=  >=  <>

Arithmetic
+  -  *  /
Mod
(integer division)
(raise to a power)

Assignment
=  +=  -=  *=  /=  \=  ^=  <<=  >>=  &=

Bitwise
And  AndAlso  Or  OrElse  Not  <<  >>

Logical
And  AndAlso  Or  OrElse  Not

Note: AndAlso and OrElse are for short-circuiting logical evaluations

String Concatenation
&

Comparison
==  <  >  <=  >=  !=

Arithmetic
+  -  *  /
(mod)
(integer division if both operands are ints)
Math.Pow(x, y)

Assignment
=  +=  -=  *=  /=   %=  &=  |=  ^=  <<=  >>=  ++  --

Bitwise
&  |  ^   ~  <<  >>

Logical
&&  ||   !

Note: && and || perform short-circuit logical evaluations

String Concatenation
+

Choices
greeting = IIf(age < 20, "What's up?", "Hello")

' One line doesn't require "End If", no "Else"
If language = "VB.NET" Then langType = "verbose"

' Use : to put two commands on same line
If x <> 100 Then x *= 5 : y *= 2  

' or to break up any long single command use _
If whenYouHaveAReally < longLine And itNeedsToBeBrokenInto2 > Lines Then _
  UseTheUnderscore(charToBreakItUp)

'If x > 5 Then
  x *= y
ElseIf x = 5 Then
  x += y
ElseIf x < 10 Then
  x -= y
Else
  x /= y
End If

Select Case color   ' Must be a primitive data type
  Case "pink", "red"
    r += 1
  Case "blue"
    b += 1
  Case "green"
    g += 1
  Case Else
    other += 1
End Select

greeting = age < 20 ? "What's up?" : "Hello";

if (x != 100) {    // Multiple statements must be enclosed in {}
  x *= 5;
  y *= 2;
}

No need for _ or : since ; is used to terminate each statement.




if
(x > 5)
  x *= y;
else if (x == 5)
  x += y;
else if (x < 10)
  x -= y;
else
  x /= y;
 



switch (color) {                          // Must be integer or string
  case "pink":
  case "red":    r++;    break;        // break is mandatory; no fall-through
  case "blue":   b++;   break;
  case "green": g++;   break;
  default:    other++;   break;       // break necessary on default
}

Loops
Pre-test Loops:
While c < 10
  c += 1
End While
Do Until c = 10 
  c += 1
Loop
Do While c < 10
  c += 1
Loop
For c = 2 To 10 Step 2
  Console.WriteLine(c)
Next

Post-test Loops:
Do 
  c += 1
Loop While c < 10
Do 
  c += 1
Loop Until c = 10

'  Array or collection looping
Dim names As String() = {"Fred", "Sue", "Barney"}
For Each s As String In names
  Console.WriteLine(s)
Next

Pre-test Loops:  

// no "until" keyword
while (i < 10)
  i++;

for (i = 2; i < = 10; i += 2)
  Console.WriteLine(i);



Post-test Loop:

do
  i++;
while (i < 10);



// Array or collection looping

string[] names = {"Fred", "Sue", "Barney"};
foreach (string s in names)
  Console.WriteLine(s);

Arrays
Dim nums() As Integer = {1, 2, 3} 
For i As Integer = 0 To nums.Length - 1
  Console.WriteLine(nums(i))
Next

' 4 is the index of the last element, so it holds 5 elements
Dim names(4) As String
names(0) = "David"
names(5) = "Bobby"  ' Throws System.IndexOutOfRangeException

' Resize the array, keeping the existing values (Preserve is optional)
ReDim Preserve names(6)
 



Dim twoD(rows-1, cols-1) As Single
twoD(2, 0) = 4.5

Dim jagged()() As Integer = { _
  New Integer(4) {}, New Integer(1) {}, New Integer(2) {} }
jagged(0)(4) = 5

int[] nums = {1, 2, 3};
for (int i = 0; i < nums.Length; i++)
  Console.WriteLine(nums[i]);


// 5 is the size of the array
string[] names = new string[5];
names[0] = "David";
names[5] = "Bobby";   // Throws System.IndexOutOfRangeException


// C# doesn't can't dynamically resize an array.  Just copy into new array.
string[] names2 = new string[7];
Array.Copy(names, names2, names.Length);   // or names.CopyTo(names2, 0); 

float[,] twoD = new float[rows, cols];
twoD[2,0] = 4.5f; 

int[][] jagged = new int[3][] {
  new int[5], new int[2], new int[3] };
jagged[0][4] = 5;

Functions
' Pass by value (in, default), reference (in/out), and reference (out) 
Sub TestFunc(ByVal x As Integer, ByRef y As Integer, ByRef z As Integer)
  x += 1
  y += 1
  z = 5
End Sub

Dim a = 1, b = 1, c As Integer   ' c set to zero by default 
TestFunc(a, b, c)
Console.WriteLine("{0} {1} {2}", a, b, c)   ' 1 2 5

' Accept variable number of arguments
Function Sum(ByVal ParamArray nums As Integer()) As Integer
  Sum = 0 
  For Each i As Integer In nums
    Sum += i
  Next
End Function   ' Or use Return statement like C#

Dim total As Integer = Sum(4, 3, 2, 1)   ' returns 10

' Optional parameters must be listed last and must have a default value
Sub SayHello(ByVal name As String, Optional ByVal prefix As String = "")
  Console.WriteLine("Greetings, " & prefix & " " & name)
End Sub

SayHello("Strangelove", "Dr.")
SayHello("Madonna")
 

// Pass by value (in, default), reference (in/out), and reference (out)
void TestFunc(int x, ref int y, out int z) {
  x++;  
  y++;
  z = 5;
}

int a = 1, b = 1, c;  // c doesn't need initializing
TestFunc(a, ref b, out c);
Console.WriteLine("{0} {1} {2}", a, b, c);  // 1 2 5

// Accept variable number of arguments
int Sum(params int[] nums) {
  int sum = 0;
  foreach (int i in nums)
    sum += i;
  return sum;
}

int total = Sum(4, 3, 2, 1);   // returns 10

/* C# doesn't support optional arguments/parameters.  Just create two different versions of the same function. */ 
void SayHello(string name, string prefix) {
  Console.WriteLine("Greetings, " + prefix + " " + name);


void SayHello(string name) {
  SayHello(name, "");
}

Exception Handling
' Deprecated unstructured error handling
On Error GoTo MyErrorHandler
...
MyErrorHandler: Console.WriteLine(Err.Description)

Dim ex As New Exception("Something is really wrong.")
Throw  ex 

Try 
  y = 0
  x = 10 / y
Catch ex As Exception When y = 0 ' Argument and When is optional
  Console.WriteLine(ex.Message)
Finally
  Beep()
End Try
 





Exception up = new Exception("Something is really wrong.");
throw up;  // ha ha

try
  y = 0;
  x = 10 / y;
}
catch (Exception ex) {   // Argument is optional, no "When" keyword 
  Console.WriteLine(ex.Message);
}
finally {
  // Must use unmanaged MessageBeep API function to beep
}

Namespaces
Namespace Harding.Compsci.Graphics 
  ...
End Namespace

' or

Namespace Harding
  Namespace Compsci
    Namespace Graphics 
      ...
    End Namespace
  End Namespace
End Namespace

Import Harding.Compsci.Graphics

namespace Harding.Compsci.Graphics {
  ...
}

// or

namespace Harding {
  namespace Compsci {
    namespace Graphics {
      ...
    }
  }
}

using Harding.Compsci.Graphics;

Classes / Interfaces
Accessibility keywords
Public
Private
Friend                   
Protected
Protected Friend
Shared

' Inheritance
Class FootballGame
  Inherits Competition
  ...
End Class 

' Interface definition
Interface IAlarmClock 
  ...
End Interface

// Extending an interface 
Interface IAlarmClock
  Inherits IClock
  ...
End Interface

// Interface implementation
Class WristWatch 
  Implements IAlarmClock, ITimer 
   ...
End Class 

Accessibility keywords
public
private
internal
protected
protected internal
static

// Inheritance
class FootballGame : Competition {
  ...
}


// Interface definition

interface IAlarmClock {
  ...
}

// Extending an interface 
interface IAlarmClock : IClock {
  ...
}


// Interface implementation

class WristWatch : IAlarmClock, ITimer {
   ...
}

Constructors / Destructors
Class SuperHero
  Private _powerLevel As Integer

  Public Sub New ()
    _powerLevel = 0
  End Sub

  Public Sub New (ByVal powerLevel As Integer)
    Me._powerLevel = powerLevel
  End Sub

  Protected Overrides Sub Finalize () 
   ' Desctructor code to free unmanaged resources
    MyBase.Finalize()
  End Sub
End Class
class SuperHero {
  private int _powerLevel;

  public SuperHero() {
     _powerLevel = 0;
  }

  public SuperHero(int powerLevel) {
    this._powerLevel= powerLevel; 
  }

  ~SuperHero() {
    // Destructor code to free unmanaged resources.
    // Implicitly creates a Finalize method

  }
}
Objects
Dim hero As SuperHero = New SuperHero
With hero
  .Name = "SpamMan"
  .PowerLevel = 3
End With

hero.Defend("Laura Jones")
hero.Rest()     ' Calling Shared method
' or
SuperHero.Rest()

Dim hero2 As SuperHero = hero  ' Both refer to same object
hero2.Name = "WormWoman"
Console.WriteLine(hero.Name)   ' Prints WormWoman

hero = Nothing    ' Free the object

If hero Is Nothing Then _
  hero = New SuperHero

Dim obj As Object = New SuperHero
If TypeOf obj Is SuperHero Then _
  Console.WriteLine("Is a SuperHero object.")

SuperHero hero = new SuperHero();

// No "With" construct
hero.Name = "SpamMan";
hero.PowerLevel = 3;

hero.Defend("Laura Jones");
SuperHero.Rest();   // Calling static method


SuperHero hero2 = hero;   // Both refer to same object
hero2.Name = "WormWoman";
Console.WriteLine(hero.Name);   // Prints WormWoman

hero = null ;   // Free the object

if (hero == null)
  hero = new SuperHero();


Object obj = new SuperHero(); 
if (obj is SuperHero)
  Console.WriteLine("Is a SuperHero object.");

Structs
Structure StudentRecord
  Public name As String
  Public gpa As Single

  Public Sub New(ByVal name As String, ByVal gpa As Single)
    Me.name = name
    Me.gpa = gpa
  End Sub
End Structure

Dim stu As StudentRecord = New StudentRecord("Bob", 3.5)
Dim stu2 As StudentRecord = stu  

stu2.name = "Sue"
Console.WriteLine(stu.name)    ' Prints Bob
Console.WriteLine(stu2.name)  ' Prints Sue

struct StudentRecord {
  public string name;
  public float gpa;

  public StudentRecord(string name, float gpa) {
    this.name = name;
    this.gpa = gpa;
  }
}
 

StudentRecord stu = new StudentRecord("Bob", 3.5f);
StudentRecord stu2 = stu;  

stu2.name = "Sue";
Console.WriteLine(stu.name);    // Prints Bob
Console.WriteLine(stu2.name);   // Prints Sue

Properties
Private _size As Integer

Public Property Size() As Integer
  Get
    Return _size
  End Get
  Set (ByVal Value As Integer)
    If Value < 0 Then
      _size = 0
    Else
      _size = Value
    End If
  End Set
End Property

foo.Size += 1

private int _size;

public int Size {
  get {
    return _size;
  }
  set {
    if (value < 0)
      _size = 0;
    else
      _size = value;
  }
}


foo.Size++;

Delegates / Events
Delegate Sub MsgArrivedEventHandler(ByVal message As String)

Event MsgArrivedEvent As MsgArrivedEventHandler

' or to define an event which declares a delegate implicitly
Event MsgArrivedEvent(ByVal message As String)

AddHandler MsgArrivedEvent, AddressOf My_MsgArrivedCallback
' Won't throw an exception if obj is Nothing
RaiseEvent MsgArrivedEvent("Test message")
RemoveHandler MsgArrivedEvent, AddressOf My_MsgArrivedCallback
 

Imports System.Windows.Forms

Dim WithEvents MyButton As Button   ' WithEvents can't be used on local variable
MyButton = New Button

Private Sub MyButton_Click(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles MyButton.Click
  MessageBox.Show(Me, "Button was clicked", "Info", _
    MessageBoxButtons.OK, MessageBoxIcon.Information)
End Sub

delegate void MsgArrivedEventHandler(string message);

event MsgArrivedEventHandler MsgArrivedEvent;

// Delegates must be used with events in C#


MsgArrivedEvent += new MsgArrivedEventHandler(My_MsgArrivedEventCallback);
MsgArrivedEvent("Test message");    // Throws exception if obj is null
MsgArrivedEvent -= new MsgArrivedEventHandler(My_MsgArrivedEventCallback);



using System.Windows.Forms;

Button MyButton = new Button(); 
MyButton.Click += new System.EventHandler(MyButton_Click);

private void MyButton_Click(object sender, System.EventArgs e) {
  MessageBox.Show(this, "Button was clicked", "Info",
    MessageBoxButtons.OK, MessageBoxIcon.Information);
}

Console I/O
Special character constants
vbCrLf, vbCr, vbLf, vbNewLine
vbNullString
vbTab
vbBack
vbFormFeed
vbVerticalTab
""
Chr(65)  ' Returns 'A'

Console.Write("What's your name? ")
Dim name As String = Console.ReadLine()
Console.Write("How old are you? ")
Dim age As Integer = Val(Console.ReadLine())
Console.WriteLine("{0} is {1} years old.", name, age) 
' or
Console.WriteLine(name & " is " & age & " years old.")

Dim c As Integer
c = Console.Read()    ' Read single char
Console.WriteLine(c)   ' Prints 65 if user enters "A"

Escape sequences
\n, \r
\t
\\
\"

Convert.ToChar(65)  // Returns 'A' - equivalent to Chr(num) in VB
// or

(char) 65

Console.Write("What's your name? ");
string name = Console.ReadLine();
Console.Write("How old are you? ");
int age = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("{0} is {1} years old.", name, age);
// or
Console.WriteLine(name + " is " + age + " years old.");


int c = Console.Read();  // Read single char
Console.WriteLine(c);    // Prints 65 if user enters "A"

File I/O
Imports System.IO

Dim writer As StreamWriter = File.CreateText("c:\myfile.txt")
writer.WriteLine("Out to file.")
writer.Close()

Dim reader As StreamReader = File.OpenText("c:\myfile.txt")
Dim line As String = reader.ReadLine()
While Not line Is Nothing
  Console.WriteLine("line=" & line)
  line = reader.ReadLine()
End While
reader.Close()

Dim str As String = "Text data"
Dim num As Integer = 123
Dim binWriter As New BinaryWriter (File.OpenWrite("c:\myfile.dat")) 
binWriter.Write(str) 
binWriter.Write(num) 
binWriter.Close()

Dim binReader As New BinaryReader (File.OpenRead("c:\myfile.dat"))
str = binReader.ReadString()
num = binReader.ReadInt32()
binReader.Close()

using System.IO;

StreamWriter writer = File.CreateText("c:\\myfile.txt");
writer.WriteLine("Out to file.");
writer.Close();

StreamReader reader = File.OpenText("c:\\myfile.txt");
string line = reader.ReadLine();
while (line != null) {
  Console.WriteLine(line);
  line = reader.ReadLine();
}
reader.Close();

string str = "Text data";
int num = 123;
BinaryWriter binWriter = new BinaryWriter(File.OpenWrite("c:\\myfile.dat"));
binWriter.Write(str);
binWriter.Write(num);
binWriter.Close();

BinaryReader binReader = new BinaryReader(File.OpenRead("c:\\myfile.dat"));
str = binReader.ReadString();
num = binReader.ReadInt32();
binReader.Close();

13 Mai

舒婷-神女峰

舒婷-神女峰


    在向你挥舞的各色花帕中
    是谁的手突然收回
    紧紧捂住了自己的眼睛
    当人们四散离去, 谁
    还站在船尾
    衣裙漫飞, 如翻涌不息的云
    江涛
    高一声
    低一声

    美丽的梦留下美丽的忧伤
    人间天上, 代代相传
    但是, 心
    真能变成石头吗
    为了眺望天上来鸿
    而错过无数人间月明

    沿着江峰
    金光菊和女贞子的洪流
    正煽动着新的背叛
    与其在悬崖上展览千年
    不如在爱人肩头痛哭一晚

1981年6月于长江
02 April

[电视散文]毕业了......

畢業了。。。。。。

Graduated 

Farewell,my university!

      青春散场,我们等待下一场开幕

 

毕业,是一个沉重的动词;

毕业,是一个让人一生难忘的名词;

毕业,是感动时流泪的形容词;

毕业,是当我们孤独时,带着微笑和遗憾去回想的副词;

若干年后,

假如我们还能够想起那段时光,

也许,

他不属于难忘,

也不属于永远,

而仅仅时一段记录成长经历的回忆。

 

第一章:流岁月

 欢迎光临阳光地带

 

  毕业,就像一个大大的句号,从此,我们告别了一段纯真的青春,一段年少轻狂的岁月,一个充满幻想的时代……

  毕业前的这些日子,时间过的好像流沙,看起来漫长,却无时无刻不在逝去;想挽留,一伸手,有限的时光却在指间悄然溜走,毕业答辩,散伙席筵,举手话别,各奔东西……一切似乎都预想的到,一切又走的太过无奈。 欢迎光临阳光地带

  每一天,我们都会有意无意地再逛逛校园,看一看它今天的样子,想一想四年前它如何迎来稚气未脱的我们。走了四年,似乎又走回到了起点。突然觉得,四年的同窗、身边的朋友,比想象中要和善、可爱得多!星光下的夜晚,每一个都温柔如风。

  再看一看吧……

  那赫然相对的男生楼,就在去年的这个时候,还曾经硝烟四起;

  窗外的晾衣绳,飘荡着不知哪个宿舍落下来的白衬衫;

  插着爱护花草牌子的草坪,记不清什么时候已经被抄近路打水的兄弟们踩出了一条小路;

  路旁的女生楼,对男生来说,几乎成为永远的禁区;

欢迎光临阳光地  综合楼自习室的门还开着么,考研时鏖战过几个月的那个屋子,如今应该没有什么人了吧 ,一直对那段埋头苦读的日子心存感激,不论结果如何,它让我收获了很多……

  一幕幕的场景就像一张张绚烂的剪贴画,串连成一部即将谢幕的电影,播放着我们的快乐和忧伤,记录着我们的青春和过往,也见证着我们的友谊和爱情!

  来到这片校园之前,想象大学生活是白色的。因为象牙塔是白色的,整个生活就好像它折射的光:纯净而自由。

  大一的时候,觉得生活是橙色的。太多新生活扑面而来,新鲜而灿烂,热情而紧张。橙色的记忆里,有第一次见到知名教授的激动,第 一次加入社团的好奇,第一次考试的紧张……欢迎光临阳光地带

  大二的时候,生活是绿色的,青春拔节生长,旺盛得像正在生长的树,梦想也一点点接近现实。跟老师讨论问题时,看见他脸上 满意的微笑;跟老外对话时,给自己打了个满意的分数;开始熟悉校园里任何一处美食,也常常在BBS

上呆到很晚……

  大三的时候,生活变成蓝色。我们冷静了下来,明白自己离未来究竟有多远,并要为此做出选择:出国,考研,还是工作。所有与这个决定相关联的一切都可能会变化,包括我们的爱情,那还年轻没经历过风雨的爱情。

  大四的生活,像有一层薄薄的灰色。在各种选择里彷徨,每一个人都忙忙碌碌,一切仿佛一首没写完的诗,匆匆开始就要匆匆告别。

  但那灰色里,却有记忆闪闪发亮。那些彩色的岁月,凝成水晶,在忙碌的日子里,它们是我们的资本,也是我们的慰藉。

欢迎光临阳光地带
  七月,我们和去年学长毕业时一样,把行李装好了箱,一点点往外运,整个宿舍楼就这样在几天之内变回空楼,变成一个无 限伤感的符号。记忆也同时从校园离开,收藏进内心的匣子,那是我们的流金岁月,也是我们的宝藏。

  未来就像天空中一朵飘忽不定的云彩,而我们,从毕业这一天起,便开始了漫长的追逐云彩的旅程。明天是美好的,路途却可能是崎岖的,但无论如何,我们都有一份弥足珍贵的回忆,一种割舍不掉的友情,一段终身难忘的经历。

第二章:开始的地方

欢迎光临阳光地带 

  大胖拿到去美国签证的那一天,是他两个月以来最开心的一天。

  他是我最好的朋友之一 。我们四个兄弟,也是同一间屋子的室友。老大学计算机,网名大胖;老二是帅哥瘦猴,每次聚会总是吸引不少女生的目光;小高在我们四个中排行老三,但是最高,学中文,爱写散文,话不多,但有哲理的话总是从他那里冒出来。我像是个毫无特色的人,除了喜欢做实验。

欢迎光临阳光地带  大一时我还什么都不懂,老大已经开始忙着买红宝书。他书架上有厚厚的英文 字典,贴着一行字:四年后,美国,我会在那里。他是我们中最明白自己目标的人。其他的人,多半和我一样,懵懵懂懂地开始上课,做实验,写论文。仿佛还像高中生一样,习惯每天时间被安排得满满当当, 一旦没有人管,就好像少了些什么。

  我们很认真地聊过理想这回事 。大胖说,他想当科学家。我们就笑,说十年以前每个人在作文里,大概都写:我的理想,是长大了当一个科学家。“要不然就是老师。”瘦猴抢着说,“那时候,觉得老师是最大的,将来如果能当老师,一定很威风神气,没有小朋友敢欺负。”

欢迎光临阳光地带  我童年时也梦想过当科学家和老师,高中的时候选了理科,因为喜欢做实验的感觉。那种感觉,好像事情的每一步,你都看得见,都能掌控,而且,错了还可以重来。生活若是能像试管那样透明就好了,可惜不然,许多时候,我们无法控制生活,所以愈加喜欢在实验室的生活,单纯沉静。

  开始找工作的时候,瘦猴望着自己的个人简历叹气。跟别人相比,他的实践经历很少,或许因为太多时间给了爱情。不过,他依然是个优秀的男孩,所以在层层面试之后去了一家不错的网络公司,或许跟我们一起泡BBS的时光帮了他不少忙。

  小高最后选择了我们童年梦想过的职业。他要去当老师,而且,不是在繁华的都市,也没有可观的工资。他申请去了青海,那儿有个全国志愿者的支教项目。他说自己是从农村来的,知道山里的孩子会有多渴望知道外面的世界。

欢迎光临阳光地  我早早地保送了本校的研究生,少了申请出国的辛苦,少了找工作的忙碌,少了选择的彷徨,也少了很多刻骨铭心的回忆。

  大胖是我们四个兄弟中最后一个有着落的。庆祝他签证成功的晚宴上,我们终于可以痛快地怀念四年的生活,怀念每一次喝醉,甚至每一次争吵。自进入七月以来,我第一次感到鼻子酸酸的……

  真的不想说再见,但是,2005年盛夏的这一天,我们真的,真的,要毕业了……

第三章:朋友别哭

欢迎光临阳光地带

  七月,盛夏,银杏还是青翠的绿色,而心疼已经渐渐弥漫开去。

  最后一堂课,是和老师告别;考完最后一场试,是和学业告别;通过毕业论文答辩,是和学生生涯告别。然后,知道一个一个朋 友离去的日期,开始一场场告别,告别朋友,告别同窗,告别四年已经习惯的许多生活。

  已经习惯了宿舍的生活 ,习惯了晚上的卧谈会,习惯了下雨时有人把衣服一起收进来,偶尔逃课的时候会有人代答到,吃饭时尝两口别人的菜,几个人用同样的钥匙,打开同一扇门。

欢迎光临阳光地

  离别的日子将近,学校周围的饭馆总是挤得满满的。所有的朋友在那里举杯,为过去的日子和情感,为将来的分别和感伤。

  还记得入学第一天我们的自 我介绍么?

  还记得我们的新生杯篮球赛么?

  还记得我们一起买了电脑,没日没夜地反恐,星际么?

  还记得“小花”的梦话,“疯子”的鼾声么?

  还记得我们一起逛街,一起喝酒,一起聊天,一起唱歌么?

  那些荒唐的,搞笑的,忧郁的,飞扬的,愤怒的,喜悦的,无比快乐的时光一去不返,而那种放肆的幸福我想以后也不会再有了。我会用心记住你们每个人的样子,记得那青春的容颜,因为那里有我生命中最美好的回忆和永恒的怀念。

  再见了,宿舍里的野人们,我们呆过的这个屋子,即将成为我们的历史。而一切的回忆也会随着岁月的流逝变成脑海里泛黄的书签。下一站,不知道还会有什么样风景。突然想到一首诗的开头:“在向你挥舞的各色花帕中/是谁的手突然收回/紧紧捂住自己的眼睛……”

欢迎光临阳光地带

   对着空无一人的宿舍说了一声:“拜拜,我走了”,我轻轻掩上门,在夜色降临以前,告别了我四年的大 学生活,离开了这一片留下我青春与热血的土地。

第四章:别了,大学 

欢迎光临阳光地带

 

  今天是毕业生离校的最后一天。在这两天里,其它三个姐妹已经陆续搬走了。如今的宿舍空荡凌乱,大家带不走或不愿带走的东西,都横七竖八地躺在地上。我打开灯,开始最后的整理。

  大一潦草的笔记,大二组织活动剩下的稿件,大三没吃完的药,大四考研复习的资料。纸片上的电话已经不记得是谁的了,一堆英语书好像都没有看过……看着看着,我竟不知不觉落下泪来,只有我才能理解每一笔每一划里包含的意义。还是留下了很多东西没有拿走,可更多更重要的东西不也永远地留在了这里了吗?不论是我带走的还 是留下的,都是我大学四年最真实的写照。

欢迎光临阳光地带  最后环视一下空荡的宿舍。那只小猪靠垫实在塞不进箱子了,只能留在那里。那口锅也没有带走 ,而未来想必也不会再煮出当时 的好味道了。手里的东西都已经满了,这些就都当作留念,留在这里吧 。

  依依不舍地关了灯。那一刹那,心里迅速划过一阵尖利的痛。想起四个字,青春散场。四年以前,我拎着简单的行李来到这里,而今天,我重新拎起新的行李,将要开始下一站的生活。

  像这四年里的每一天一样,我沿着再熟悉不过的路线走出公寓的大门,不过当我的脚步跨出门槛的一刹那,我将不再是这里的一员。

  这一次,我不是去买盒饭,去附近的网吧上网,去校外的小店闲逛,或者是睡眼惺忪地跑去上课。这一次,我会很郑重地对这个留下我四年青春的地方说一声--再见!

欢迎光临阳光地带再见了,我的宿舍,
再见了,我的兄弟,
再见了,我的青春,
再 见,我的大学。

  青春散场,我们等待下一场开幕。等待我们在前面的旅途里,迎着阳光,勇敢地飞向心里的梦想;等待我们在前面的故事里,就着星光,回忆这生命中最美好的四年,盛开过的花……

毕业了,这些事你都做了吗?

1.不管你曾经多么内向,你一定要在全班同学面前,认认真真地讲一次话, 或者唱一支歌, 即使你和开学时一样,再介绍一回你自己。
 
2.拜访一回你最尊敬的老师,在毕业时,认真地记住一条关于人生的经验。
 
3.一定要对你喜欢的女生(男生),很认真地告诉她(他):“我爱过你!”
 
4.一定要和一个女生(男生),很认真地走一回“情人路”或者爬一次“情人坡”。
 
5.即使从不喝酒,你也一定要认真地醉一次。
 
6.在夏夜的雨水里,大声地喊一次那个你想过多次人的名字,不要怕你的声音过大,惊醒N多梦中人。
 
7.认真地在你不喜欢的食堂里,然后品尝一次食堂的免费汤, 它的气味你会在很多年后还能记得。
 
8.在一个太阳还没有升起来的早晨,去操场跑一次步,和那些生猛的大一新生们比较一下懒觉睡多了后体力上的差距。
 
9.在宿舍里不要有类似于写“某某到此一游”的行为。
 
10.下定决心,班集体的活动这次一定不会借故溜走--如果还有的话。
 
11.很认真地穿一次西装(套装),看看自己和4年前变化的地方在哪里?
 
12.花一个下午的时间,认真地整理一次自己的书箱, 哪些是可以留的,哪些是不要了的--在某本书里,是不是看见了一张陌生已久的纸条,或者是某人的名字?
 
13.男生整理衣柜的时候,记得把你的球衣送给你的学弟, CD送给学妹,游戏碟记得自己带走。
 
14.在校园里,假如有山,请记得再爬一次,假如有水,请记得再游一次。
 
15.记得留下每一个你觉得应该是朋友的联系方法,然后把你的新单位的电话给他们。
 
16.终于要走了,再剪一次发,让自己崭崭新新地离开,然后,崭崭新新地开始。
 
17.记得归还你的证件,陪伴了你4年的桌子, 椅子和凳子--我们不提倡你宁愿罚钱也要留下你的图书证,学生证,医疗证,食堂饭卡……
 
18.论文答辩可能是你人生当中最后一次的课堂作业了,请你认真地书写每一个字。
 
19.和你一起睡了4年的床,一定要记得和它合一张影。
 
20.尽可能地送每一个你能送的同学,你要明白,他们是你4年的同学,他们中的某人,也许是你最后一次能见到的人。

 
其实人活着,不是一种状态,而是一种境界
 
Es wurden noch keine Listenelemente hinzugefügt.

克阳 曹

Beruf
Ort
Interessen
☞ 中国 制造 Made In China
Es wurden noch keine Listenelemente hinzugefügt.