public void PassingByValue_ValueTypeParameter_ReassigningTheParameter_ShouldNotChangeCallerValue() { var valueType = new IntHolderStruct(5); F2(valueType); Assert.AreEqual(5, valueType.Number); }
public void PassingByValue_ValueTypeParameter_ChangingTheValueInsideFunction_ShouldNotChangeCallerValue() { var valueType = new IntHolderStruct(5); F1(valueType); Assert.AreEqual(5, valueType.Number); }
public void PassingAsOutput_ValueTypeParameter_ChangingTheValueInsideFunction_ShouldChangeCallerValue() { var valueType = new IntHolderStruct(5); F9(out valueType); Assert.AreEqual(99, valueType.Number); }
public void PassingByReference_ValueTypeParameter_ReassigningTheParameter_ShouldChangeCallerValue() { var valueType = new IntHolderStruct(5); F6(ref valueType); Assert.AreEqual(66, valueType.Number); }
public void ValueTypes_AssigningOneVariableToAnother_DataIsCopied() { var first = new IntHolderStruct(1); var second = first; first.Number = 2; Assert.AreEqual(1, second.Number); }
public void DoCount(TimeSpan overhead) { string line = null; Hashtable wordTable = new Hashtable(); DateTime startTime = DateTime.Now; int wordCount = 0; while ((line = stream.ReadLine()) != null) { foreach (string word in regexSplit.Split(line.ToLower())) { wordCount++; //Console.WriteLine("Word: {0}", word); object value = wordTable[word]; if (value == null) { value = new IntHolderStruct(1); wordTable[word] = value; } else { ((IIncrement)value).Increment(); } } } stream.Close(); f.Close(); DateTime endTime = DateTime.Now; ArrayList words = new ArrayList(); foreach (string word in wordTable.Keys) { words.Add(word); } words.Sort(); //foreach (string word in words) //{ //Console.WriteLine("{0} = {1}", word, wordTable[word]); //} Console.WriteLine("Interface: Counted {0} words ({1} unique) in {2}, delta = {3}", wordCount, words.Count, endTime - startTime, (endTime - startTime) - overhead); }
public void PassingReferenceTypeByValue_AndValueTypeByReference_IsNotTheSame() { var firstValueType = new IntHolderStruct(5); var secondValueType = firstValueType; secondValueType.Number = 6; F101(ref firstValueType); Assert.AreEqual(101101, firstValueType.Number); Assert.AreEqual(6, secondValueType.Number); var firstReferenceType = new IntHolderClass(5); var secondReferenceType = firstReferenceType; secondReferenceType.Number = 6; F102(firstReferenceType); Assert.AreEqual(6, firstReferenceType.Number); Assert.AreEqual(6, secondReferenceType.Number); Assert.AreEqual(firstReferenceType, secondReferenceType); }
private void F2(IntHolderStruct valueType) { valueType = new IntHolderStruct(22); }
private void F1(IntHolderStruct valueType) { valueType.Number = 11; }
private void F101(ref IntHolderStruct valueType) { valueType = new IntHolderStruct(101101); }
private void F14(params IntHolderStruct[] valueTypes) { valueTypes.ToList().ForEach(i => i = new IntHolderStruct(1414)); }
private void F10(out IntHolderStruct valueType) { valueType = new IntHolderStruct(1010); }
private void F9(out IntHolderStruct valueType) { valueType.Number = 99; }
private void F6(ref IntHolderStruct valueType) { valueType = new IntHolderStruct(66); }
private void F5(ref IntHolderStruct valueType) { valueType.Number = 55; }