如何正确连接到字符串

时间:2020-07-02 23:48:29

标签: c# string concatenation

我有一个简单而基本的问题。

我有以下示例代码:

#include <stdlib.h>
#include <stdio.h>

int main() {
    int students, modules, m, n, first_student, last_student, l = 0;
    float student[100][20], high = 0, low = 20, average[students], average_mark[students];
    printf("Please enter the number of students:\n");
    scanf("%d", &students);
    printf("Please enter the number of modules:\n");
    scanf("%d", &modules);

    for (m = 0; m < students; ++m) {
        for (n = 0; n < modules; n++) {
            printf("Please enter the mark of module %d for student number %d,\n", n + 1, m + 1);
            scanf("%f", &student[m][n]);
        }
    }

    for (m = 0; m < students; ++m) {
        average[m] = 0;
    }

    for (n = 0; n < modules; n++) {
        average[m] += student[m][n];
        average_mark[m] = average[m] / modules;
    }

    printf("student     average\n");

    for (m = 0; m < students; ++m) {
        printf("%d     %f\n", m + 1, average_mark[m]);
    }

    for (m = 0; m < students; ++m) {
        if (average_mark[m] < low) {
            average_mark[m] = low;
        }
        else
            if (average_mark[m] == low) {
                last_student = m + 1;
            }

        if (average_mark[m] > high) {
            average_mark[m] = high;
        }
        else
            if (average_mark[m] == high) {
                first_student = m + 1;
            }
    }

    printf("The student who had the highest mark is %d : %f\n", first_student, high);
    printf("The student who had the lowest mark is %d : %f\n", last_student, low);

    for (m = 0; m < students; ++m) {
        if (average_mark[m] == 10 || average_mark[m] > 10) {
            l++;
        }
    }

    printf("the number of students having a mark that equals or exceeds the average is %d\n", l);

    return 0;
}

我要替换硬编码值:

request.AddHeader("authorization", "Bearer _XU6l1eaDs9NQRTcb5QG4m0-ab1F3Y29ikw");
request.AddParameter("application/json", "{\"panelists\":
[{\"name\":\"Mary\",\"email\":\"maryjkdfdsgfshdgf@jdfdkjdglfk.jkfgdj\"},
{\"name\":\"Mike\",\"email\":\"dfdsgfsdhf@jkgfdgfkdhgfdjg.fkjgdf\"}]}", ParameterType.RequestBody);

_XU6l1eaDs9NQRTcb5QG4m0-ab1F3Y29ikw

具有2个字符串变量:

"{\"panelists\":
    [{\"name\":\"Mary\",\"email\":\"maryjkdfdsgfshdgf@jdfdkjdglfk.jkfgdj\"},
    {\"name\":\"Mike\",\"email\":\"dfdsgfsdhf@jkgfdgfkdhgfdjg.fkjgdf\"}]}"  

我正在放屁,无法正确解决,将这些变量连接到字符串的正确方法是什么?

我正在做

  IList<Panelist> panelists = parameters.panelists;
  string bearer = parameters.bearer;

但这不能正常工作。

谢谢您的帮助。

1 个答案:

答案 0 :(得分:1)

更新:OP在此处提出了问题 C# format an array for post to Api

我需要以一种可以将其作为请求正文传递的方式来格式化值列表。

您需要将IList转换回字符串吗?因此,用Model表示JSON结构不是更好:

public class Panelist    {
    public string name { get; set; } 
    public string email { get; set; } 

}

public class Root    {
    public List<Panelist> panelists { get; set; } 
}

将JSON添加到模型或在初始化时填充模型

myJson = {\"panelists\":
    [{\"name\":\"Mary\",\"email\":\"maryjkdfdsgfshdgf@jdfdkjdglfk.jkfgdj\"},
    {\"name\":\"Mike\",\"email\":\"dfdsgfsdhf@jkgfdgfkdhgfdjg.fkjgdf\"}]}";

Root myDeserializedClass = JsonConvert.DeserializeObject(myJson)

然后将模型序列化为字符串:

request.AddParameter("application/json", JsonConvert.SerializeObject(myDeserializedClass), ParameterType.RequestBody);
相关问题