ph91.de
  • Home
  • About me
  • Categories
    • Software Development
    • New Zealand
    • Music
    • Tech & IT
    • Sports
    • Dublin
    • Junk
  • Contact
  • Disclaimer
ph91.de
ph91.de
  • Home
  • About me
  • Categories
    • Software Development
    • New Zealand
    • Music
    • Tech & IT
    • Sports
    • Dublin
    • Junk
  • Contact
  • Disclaimer
  • Software Development

Unexpected C# Behaviour

  • 16. September 2018
  • Philipp

I recently stumbled across the unexpected behavior of C# when dealing with static variables. I put it a green unit test:

private static string a = $"a{b}";
private static string b = $"b{2+100}";
private static string c = $"{b}c";

[Test]
public void Test()
{
Assert.AreEqual("a",a);
Assert.AreEqual("b102c", c);
Assert.AreEqual(10, ReturnSum()(2,3));
}

As C# has an ECMA definition, this behavior is described in there (reference found here):


17.11: The execution of a static constructor is triggered by the first of the following events to occur within an application domain:

  • An instance of the class is created.
  • Any of the static members of the class are referenced.

If a class contains the Main method (§10.1) in which execution begins, the static constructor for that class executes before the Main method is called. If a class contains any static fields with initializers, those initializers are executed in textual order immediately prior to executing the static constructor (§17.4.5).

 


Despite that, it is quite weird that the compiler doesn’t warn you if a static member is referencing a static member which is executed later.

 

Related Topics
  • c#
  • compiler
  • ecma
  • language
  • static
Philipp

Previous Article
  • Tech & IT

Configure a postfix mailserver correctly (1blu)

  • 10. September 2018
  • Philipp
View Post
Next Article
  • Software Development

Design Patterns Game

  • 30. April 2019
  • Philipp
View Post
505 comments

Comments navigation

Older comments
Newer comments
  1. JorgeSOYMN says:
    9. November 2025 at 19:32

    https://t.me/s/official_Martin_es

  2. JorgeSOYMN says:
    9. November 2025 at 20:28

    https://t.me/s/official_MostBet_ed

  3. JorgeSOYMN says:
    9. November 2025 at 21:19

    https://t.me/s/official_Vulkan_ed

  4. JorgeSOYMN says:
    9. November 2025 at 22:11

    https://t.me/s/official_PlayFortuna_es

  5. JorgeSOYMN says:
    9. November 2025 at 23:08

    https://t.me/s/official_Pinco_es

  6. JorgeSOYMN says:
    10. November 2025 at 00:07

    https://t.me/s/official_CasinoX_ed

  7. JorgeSOYMN says:
    10. November 2025 at 01:06

    https://t.me/s/official_PlayFortuna_ed

  8. JorgeSOYMN says:
    10. November 2025 at 02:04

    https://t.me/s/official_Pinco_ed

  9. JorgeSOYMN says:
    10. November 2025 at 03:03

    https://t.me/s/official_CatCasino_ed

  10. JorgeSOYMN says:
    10. November 2025 at 04:00

    https://t.me/s/official_Riobet_es

  11. JorgeSOYMN says:
    10. November 2025 at 04:58

    https://t.me/s/official_Fresh_es

  12. JorgeSOYMN says:
    10. November 2025 at 06:59

    https://t.me/s/official_JoyCasino_ed

  13. JorgeSOYMN says:
    10. November 2025 at 07:58

    https://t.me/s/official_JoyCasino_es

  14. JorgeSOYMN says:
    10. November 2025 at 08:59

    https://t.me/s/official_Gama_ed

  15. JorgeSOYMN says:
    10. November 2025 at 10:01

    https://t.me/s/official_Sol_ed

  16. Geraldkiz says:
    10. November 2025 at 14:36

    https://t.me/Starda_egs/22

  17. Geraldkiz says:
    10. November 2025 at 15:45

    https://t.me/s/GGBet_egs/17

  18. Geraldkiz says:
    10. November 2025 at 16:59

    https://t.me/s/Drip_egs/9

  19. PokerPhantom says:
    10. November 2025 at 17:03

    https://t.me/s/iGaming_live/4605

  20. Geraldkiz says:
    10. November 2025 at 18:12

    https://t.me/s/Riobet_egs/21

  21. Geraldkiz says:
    10. November 2025 at 19:24

    https://t.me/Kometa_egs/10

  22. Geraldkiz says:
    10. November 2025 at 20:38

    https://t.me/MostBet_egs/14

  23. Geraldkiz says:
    10. November 2025 at 21:50

    https://t.me/s/PinUp_egs/19

  24. Geraldkiz says:
    10. November 2025 at 22:57

    https://t.me/Booi_egs/4

  25. Geraldkiz says:
    11. November 2025 at 00:02

    https://t.me/s/R7_egs/9

  26. Geraldkiz says:
    11. November 2025 at 01:10

    https://t.me/Vodka_egs/16

  27. Geraldkiz says:
    11. November 2025 at 02:13

    https://t.me/s/CatCasino_egs/16

  28. Geraldkiz says:
    11. November 2025 at 03:17

    https://t.me/Vulkan_egs/13

  29. Geraldkiz says:
    11. November 2025 at 04:23

    https://t.me/s/Stake_egs/3

  30. Geraldkiz says:
    11. November 2025 at 05:30

    https://t.me/Leon_egs/17

  31. Geraldkiz says:
    11. November 2025 at 06:33

    https://t.me/MostBet_egs/9

  32. Geraldkiz says:
    11. November 2025 at 07:38

    https://t.me/Riobet_egs/5

  33. Geraldkiz says:
    11. November 2025 at 08:42

    https://t.me/s/Rox_egs/18

  34. Geraldkiz says:
    11. November 2025 at 09:52

    https://t.me/Starda_egs/5

  35. Geraldkiz says:
    11. November 2025 at 11:06

    https://t.me/GGBet_egs/7

  36. Geraldkiz says:
    11. November 2025 at 12:19

    https://t.me/s/Daddy_egs/17

  37. Geraldkiz says:
    11. November 2025 at 13:31

    https://t.me/Riobet_egs/4

  38. Geraldkiz says:
    11. November 2025 at 14:44

    https://t.me/s/CasinoX_egs/3

  39. Geraldkiz says:
    11. November 2025 at 15:57

    https://t.me/s/?@DragonMoney_egs/20

  40. Geraldkiz says:
    11. November 2025 at 17:04

    https://t.me/s/PinUp_egs/9

  41. Angelvub says:
    11. November 2025 at 18:45

    https://t.me/va_1xbet/16

  42. BluffMaster says:
    11. November 2025 at 19:43

    https://t.me/iGaming_live/4643

  43. Angelvub says:
    11. November 2025 at 21:27

    https://t.me/va_1xbet/3

  44. Angelvub says:
    11. November 2025 at 22:41

    https://t.me/va_1xbet/18

  45. Angelvub says:
    11. November 2025 at 23:49

    https://t.me/va_1xbet/4

  46. Angelvub says:
    12. November 2025 at 01:58

    https://t.me/s/va_1xbet/9

  47. Angelvub says:
    12. November 2025 at 02:59

    https://t.me/s/va_1xbet

  48. Angelvub says:
    12. November 2025 at 04:03

    https://t.me/va_1xbet/5

  49. Angelvub says:
    12. November 2025 at 05:15

    https://t.me/va_1xbet/22

  50. Angelvub says:
    12. November 2025 at 06:24

    https://t.me/s/va_1xbet/14

Comments navigation

Older comments
Newer comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Dev profiles
  • BitBucket
  • Github
  • Stackoverflow
Side Projects
  • NMF
  • Speed-kini.de
  • Sudoku Solver
  • Windwarner
Archive
ph91.de
Blog by Philipp Schreitmüller

Input your search keywords and press Enter.