部分メソッドが導入された。部分型（partial 型）内で定義された private で、かつ戻り値が void のメソッドに partial 修飾子をつけることでメソッドの宣言と定義を分離させることができる。定義されていない部分メソッドは何も行わず、何らエラーを発生させることもない。例えば:partial class Class{  partial void DebugOutput(string message);    void Method()  {    DebugOutput("Some message");    Console.WriteLine("Did something.");  }}上のコードにおいて Method() を呼び出すと、Did something. と表示されるだけだが、ここで以下のコード:partial class Class{  partial void DebugOutput(string message)  {    Console.Write("[DEBUG: {0}] ", message);  }}を追加した上で Method() を呼び出すと、[DEBUG: Some message] Did something. と表示される。
拡張メソッド (extension method) が導入された。既存のクラスを継承して新たなクラスを定義することなく、新たなインスタンスメソッドを疑似的に追加定義することができる。具体的には、入れ子になっていない、非ジェネリックの静的クラス内に、this 修飾子をつけた、拡張メソッドを追加する対象の型の引数を最初に持つメソッドをまず定義する。これによって、通常の静的メソッドとしての呼び出しの他に、指定した型のインスタンスメソッドとしての呼び出しを行うことができるメソッドを作ることができる。以下に例を挙げる:public static class StringUtil{  public static string Repeat(this string str, int count)  {    var array = new string[count];    for (var i = 0; i < count; ++i) array[i] = str;    return string.Concat(array);  }}この例は、文字列（string 型のインスタンス）を指定した回数繰り返し連結したものを返すメソッド Repeat を、既存の string 型に追加している。このメソッドは、以下のように呼び出すことができる:// 静的メソッドとしての呼び出しStringUtil.Repeat("foo", 4);// 拡張メソッドとしての呼び出し"foo".Repeat(4);// (どちらの例も "foofoofoofoo" を返す)また、列挙型やインターフェイスなど本来メソッドの実装を持ち得ない型に、見かけ上インスタンスメソッドを追加することも可能である。以下に例を挙げる:public enum Way{  None, Left, Right, Up, Down}public static class EnumUtil{  public static Way Reverse(this Way src)  {    switch (src)    {      case Way.Left:  return Way.Right;      case Way.Right: return Way.Left;      case Way.Up:    return Way.Down;      case Way.Down:  return Way.Up;      default: return Way.None;    }  }}このメソッドは以下のように呼び出すことができる:Way l = Way.Left;Way r = l.Reverse(); // Way.Right拡張メソッドは糖衣構文の一種であり、カプセル化の原則に違反するものではないが、必要な場合に限り注意して実装することがガイドラインとして推奨されている。
var キーワードが導入され、型推論を利用したローカル変数の宣言ができるようになった。var s = "foo";// 上の文は右辺が string 型であるため、次のように解釈される:string s = "foo";// 以下に挙げる文は誤りである（コンパイルエラーとなる）:var v; // 初期化式を欠いている (型を推論する対象が存在しない)var v = null; // 型が推論できない (曖昧である)
その後ギリースはイギリスに行き、NRDC（National Research Development Corporation）で働いた。そこにはフェランティ社の初期のPEGASUSコンピュータがあり、彼はそれを使用している。当時、米国政府はカナダ人を含めた全ての若者を朝鮮戦争に向けて選別していた。ギリースが1956年にアメリカ合衆国に戻ると、彼は36歳まで 1-A （徴兵適格者）とされ続けた。アメリカに戻るとすぐにギリースは Alice E. Dunkle と結婚し、イリノイ大学アーバナ・シャンペーン校(UIUC)で教授としての仕事を得た。スプートニク1号の打ち上げのほんの数時間後の1957年の10月初め、人工衛星から信号を測定するためにUIUC天文学部は特別の干渉計を用意した。ロシアの軍による打ち上げは米国中にパニックを引き起こした（スプートニク・ショック）。ギリースと同僚の物理学者であったジェームス・スナイダーはILLIAC I上でプログラムを書き、二日以内にこの人工衛星の軌道を計算した。それによる天体位置（軌道）推算表のレポートと後のネイチャー誌での公表が、ソ連によるスプートニクが引き起こした恐怖を和らげるのに役立った。ギリースは1950年代終盤に3つの特許を作成した。そのひとつは、当時まだ存在しなかったベースレジスタによるリロケーションの実装の詳細である。彼はこれらの特許を一種のジョークと考え、特許料を取らずにIBMに特許権を与えた。これは、類似のアイデアの特許を誰かに取得されてコンピュータ業界の進歩が妨げられることを予防したと言える。1958年、ギリースはイリノイ大学のILLIAC IIスーパーコンピュータの三段パイプラインを設計した。その制御回路は先回り制御(advanced control)、遅延制御(delayed control)、相互作用部(interplay)から構成されている。この成果はパブリックドメインであったが、しばしば世界初のパイプラインと言われるIBMのIBM 7030コンピュータと匹敵するものである。また、1962年のコンピュータ設計に関するミシガン会議でギリース自身が "On the design of a very high speed computer"（非常に高速なコンピュータの設計について）と題して発表している。ILLIAC IIコンピュータの動作確認試験の間に、ギリースは新しい3つのメルセンヌ数を発見し、論文 "Three new Mersenne primes and a statistical theory"（3つの新しいメルセンヌ数と統計理論）でそれを発表した。検出アルゴリズムは、ILLIAC II のあらゆる機能を駆使するよう設計されている。ギリースはまた、この新しいコンピュータの設計について数学界に注目して欲しいと考えていた。彼の発見したメルセンヌ数はギネスブックに掲載され、最大のもの（2¹¹²¹³ − 1）はイリノイ大学数学科の構内郵便施設から送られる手紙にスタンプとして押されることとなった。