C#学习笔记

这篇博客介绍了如何在Ubuntu环境下安装Mono开发环境来编写和运行C#程序。内容包括安装步骤、C#程序示例,涉及动态链接库的使用以及C#调用C库的方法,展示了平均数、众数和标准差的计算,以及矩阵运算等实际应用。
摘要由CSDN通过智能技术生成

安装mono c#开发环境:
apt-get update
apt-get install mono-devel
.so文件生成:
g++ -fPIC -shared -o libmathlib52.so mathlib52.cpp
root@ubuntu:/home/cpptest/cstest# mcs mean.cs
root@ubuntu:/home/cpptest/cstest# mono mean.exe
avg=3,avg1=3,mode=2,stdDev=1.30930734141595,stdDev1=1.30930734141595
avg=3,avg1=3,mode=2,stdDev=1.30930734141595,stdDev1=1.30930734141595

using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using System.Linq;

public class RefComm

  [DllImport("libmathlib52.so", EntryPoint="mean")]
  public static extern double mean(double[] a,int n);// 平均数
 
    // 计算由num个浮点数组成的数组的平均值
    private static double Mean(IEnumerable<double> values)
    {
        int num=values.Count();
        double avg=0;
        foreach (double v in values)
        {
            avg+=v;
        }
        avg/=num;
        return avg;
    }

    // 返回样本的众数值,如果众数超过一个,则返回最前面的一个
    static T find_mode<T>(T[] a)
    {
        int num=a.Length;
        T md=a[0],oldmode=a[0];
        int count,oldcount=0;
        for(int t=0;t<num;t++)
        {
            md=a[t];
            count=1;
            for(int w=t+1;w<num;w++)
            if(md.Equals(a[w]))//此处不能用==
                count++;//准众数值
            if(count>oldcount)
            {
                oldmode=md;
                oldcount=count;
            }
        }
        return oldmode;
    }
    
    private static double StdDev(IEnumerable<double> values)
    {
        double ret = 0;
        if (values.Count() > 0)
        {
            //  计算平均数   
            double avg =

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值