нет и нет... почти все слова. почти правильные...
но суть в том, что если оба операнда int то и результат будет int...
начните с этого
Console.WriteLine((1.0 / 7).ToString());
или
Console.WriteLine((1 / 7.0).ToString());
или
Console.WriteLine((1f / 7).ToString());
или
Console.WriteLine((1 / 7d).ToString());
или
Console.WriteLine((((double)1) / 7).ToString());
или
Console.WriteLine((1 /((float)(7))).ToString());
для верности сравните с
Console.WriteLine(((float)(1 / 7)).ToString("0.##"));
... обдумайте, почему во последнем примере, приведени к "плавающей точке"
запоздало... и будет
полное понимание, удачи..
ps
... по быренькому можно тут все проверить -
https://dotnetfiddle.net/Давно я конечно не писал на C#..
..или изменилась правила деления?
... а тут огорчу )))...
в C# так было всегда (еще точнее - во всех строготипизированых ЯП)