Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Example
Code Block
csharp
csharp
titleC#
class Concat : IFunction
    {
        public FunctionValue Calculate(IList<FunctionValue> args, Cell currentCell)
        {
            StringBuilder result = new StringBuilder("");
            foreach (FunctionValue arg in args)
            {
                result.Append(',');
                switch (arg.Type)
                {
                    case FunctionValueType.BOOLEAN:
                        result.Append((bool)arg.Value ? "True" : "False");
                        break;
                    case FunctionValueType.STRING:
                        result.Append(arg.Value);
                        break;
                    case FunctionValueType.NUMBER:
                        result.Append(((double)arg.Value).ToString("0.#####"));
                        break;
                    case FunctionValueType.NULL:
                        result.Append(' ');
                        break;
                    case FunctionValueType.RANGE:
                        result.Append(arg.Value.ToString());
                        break;
                }
            }
            return new FunctionValue(result.ToString());
        }
    }
Code Block
vbnet
vbnet
titlevb.net
Class Concat
	Implements IFunction
	Public Function Calculate(args As IList(Of FunctionValue), currentCell As Cell) As FunctionValue
		Dim result As New StringBuilder("")
		
		For Each arg As FunctionValue In args
			result.Append(","C)

			Select Case arg.Type
				Case FunctionValueType.[BOOLEAN]
					result.Append(If(CBool(arg.Value), "True", "False"))
					Exit Select
				Case FunctionValueType.[STRING]
					result.Append(arg.Value)
					Exit Select
				Case FunctionValueType.NUMBER
					result.Append(CDbl(arg.Value).ToString("0.#####"))
					Exit Select
				Case FunctionValueType.NULL
					result.Append(" "C)
					Exit Select
				Case FunctionValueType.RANGE
					result.Append(arg.Value.ToString())
					Exit Select
			End Select
		Next
		Return New FunctionValue(result.ToString())
	End Function
End Class

...