ЛК
Лариса Калмыкова

C#. Написать функцию

Написать функцию, которая принимает строку, заменяет в ней все вхождения символа ‘a’ на ‘A’ и возвращает число заменённых символов.
Объявить указатель на полученную функцию и вызвать её с помощью указателя.

ВV
Владимир V!sk@s

// http://msdn.microsoft.com/ru-ru/library/ct597kb0.aspx
using System;
using System.Collections;
using System.Runtime.InteropServices;
namespace example
{
class Program
{
delegate int MyDelegate(ref string str);

static int Labuda(ref string str)
{
str = str.Replace('а', 'А');
IEnumerator enm = str.GetEnumerator();
int count = 0;
while (enm.MoveNext()) if ((char)enm.Current == 'А') ++count;
return count;
}

unsafe static void Main(string[] args)
{
string s = "мама мыла раму, папа жрал агаву";
Console.WriteLine(s);
var fn = new MyDelegate(Labuda);
IntPtr pointer = Marshal.GetFunctionPointerForDelegate(fn);
void * ptr = pointer.ToPointer();
var p = (MyDelegate)Marshal.GetDelegateForFunctionPointer((IntPtr)ptr, typeof(MyDelegate));
var result = p(ref s);
Console.WriteLine(s);
Console.WriteLine(result);
Console.ReadKey();
}
}
}

Похожие вопросы
В С (не C++) есть стандартная функция для вычисления факториала? Как написать свою я знаю. С этим проблем нет.
C#. Написать функцию с переменным числом параметров
помогите написать программу в c++ на функции
Помогите написать функцию к задаче на C++
Подскажите функцию в C ++
C++ передача функции или указателя на функцию в метод
C++ функция textattr
c++ калькулятор с функцией
как написать функцию ?
как написать функцию ??